Вы пытаетесь воссоздать ассоциативный массив - в C # я обычно использовал бы словарь
Dictionary<string,string> stringArray = new Dictionary<string,string>();
и затем вы можете присвоить значения двумя способами
stringArray["field1"] = "value1";
stringArray.Add("field2","value2");
Словари можно использовать для хранения любой комбинации пары ключ / значение, например:
Dictionary<int,string>()
Dictionary<long,KeyValuePair<string,long>>()
etc.
Если вы абсолютно уверены, что вам нужен только ключ, представляющий собой строку, которая будет возвращать значение, являющееся строкой, тогда вы также можете использовать NameValueCollection
NameValueCollection stringArray = new NameValueCollection();
и снова вы можете использовать те же два метода для добавления значений
stringArray["field1"] = "value1";
stringArray.Add("field2","value2");
Оба типа данных также имеют другие удобные методы, такие как
stringArray.Clear(); // make it empty
stringArray.Remove("field1"); // remove field1 but leave everything else
проверь свою интеллигентность в визуальной студии, чтобы узнать больше хороших вещей
Дополнительные узлы
Обратите внимание, что NameValueColelction
не обеспечивает (исключительно) сопоставление один-к-одному - вы можете связать несколько значений с одним именем.
var map = new NameValueCollection();
map.Add("Bar", "Foo");
map.Add("Bar", "Buz");
// Prints 'Foo,Buz' - the comma-separated list of all values
// associated with the name 'Bar'.
Console.WriteLine(map["Bar"]);