StringDictionary
походить із .NET 1.1 і реалізує IEnumerable
Dictionary<string, string>
походить із .NET 2.0 і реалізує IDictionary<TKey, TValue>,IEnumerable<KeyValuePair<TKey, TValue>>, IEnumerable
IgnoreCase встановлено лише для Key in StringDictionary
Dictionary<string, string>
добре для LINQ
Dictionary<string, string> dictionary = new Dictionary<string, string>();
dictionary.Add("ITEM-1", "VALUE-1");
var item1 = dictionary["item-1"];
var itemEmpty = dictionary["item-9"];
StringDictionary stringDictionary = new StringDictionary();
stringDictionary.Add("ITEM-1", "VALUE-1");
var item1String = stringDictionary["item-1"];
var itemEmptystring = stringDictionary["item-9"];
bool isKey = stringDictionary.ContainsValue("VALUE-1");
bool isValue = stringDictionary.ContainsValue("value-1");
Dictionary<string,string>
для всього нового коду (якщо вам не потрібно націлити 1.1).