Вот пример того, как использовать словарь. Что в основном делает словарь, так это то, что он отображает один объект на другой, в данном случае, строка на int, вы всегда можете использовать разные типы для ключей и значений, если хотите.
Dictionary<string, int> SignType = new Dictionary<string, int>();
SignType.Add("-", 0);
SignType.Add("+", 1);
int plusValue = SignType["+"];
РЕДАКТИРОВАТЬ: я обновил его снова
Теперь вы можете использовать статический класс примерно так
namespace OGC.GML.BasicTypes
{
public static class SignType
{
public static Dictionary<string, int> Values = new Dictionary<string, int>();
static SignType()
{
Values.Add("-", 0);
Values.Add("+", 1);
}
}
}
и вам нужно будет набрать OGC.GML.BasicTypes.SignType.Values["+"]
Или вы можете использовать экземпляр класса
public class SignType
{
private static Dictionary<string, int> Values = new Dictionary<string, int>();
public SignType()
{
Values.Add("-", 0);
Values.Add("+", 1);
}
public int this[string s]
{
get { return Values[s]; }
}
}
}
, что позволит `new OGC.GML.BasicTypes.SignType () [" + "] '
и даже если BasicTypes является классом вместо пространства имен, в него все равно можно поместить больше Enums и Sub-Class, но это может быть не идеальным решением, в зависимости от назначения пространства имен.