Visual Studio Kullanıcı UserVoice dotmore tarafından genel OrderedDictionary uygulaması için bir bağlantı verir .
Ancak, yalnızca anahtar / değer çiftlerini dizine göre almanız ve değerleri anahtarlarla almanız gerekmiyorsa, basit bir hile kullanabilirsiniz. Bazı genel sınıf (ListArray olarak adlandırdım) aşağıdaki gibi bildirin:
class ListArray<T> : List<T[]> { }
Bunu yapıcılarla da bildirebilirsiniz:
class ListArray<T> : List<T[]>
{
public ListArray() : base() { }
public ListArray(int capacity) : base(capacity) { }
}
Örneğin, bir dosyadan bazı anahtar / değer çiftlerini okursunuz ve bunları daha sonra dizine göre almak için bunları okundukları sıraya koymak istersiniz:
ListArray<string> settingsRead = new ListArray<string>();
using (var sr = new StreamReader(myFile))
{
string line;
while ((line = sr.ReadLine()) != null)
{
string[] keyValueStrings = line.Split(separator);
for (int i = 0; i < keyValueStrings.Length; i++)
keyValueStrings[i] = keyValueStrings[i].Trim();
settingsRead.Add(keyValueStrings);
}
}
// Later you get your key/value strings simply by index
string[] myKeyValueStrings = settingsRead[index];
Fark etmiş olabileceğiniz gibi, ListArray öğenizde yalnızca anahtar / değer çiftleri olması gerekmez. Öğe dizileri, tırtıklı dizide olduğu gibi herhangi bir uzunlukta olabilir.