辞書で参照された最後のインデックスを見つける方法はありますか? 例えば、
Dictionary<string,string> exampleDic;
...
exampleDic["Temp"] = "ASDF"
...
変数として保存せずに「Temp」を取得する方法はありますか?
辞書で参照された最後のインデックスを見つける方法はありますか? 例えば、
Dictionary<string,string> exampleDic;
...
exampleDic["Temp"] = "ASDF"
...
変数として保存せずに「Temp」を取得する方法はありますか?
独自の辞書を実装する
public class MyDic : Dictionary<String, String>
{
public string LastKey { get; set; }
public String this[String key]
{
get
{
LastKey = key;
return this.First(x => x.Key == key).Value;
}
set
{
LastKey = key;
base[key] = value; // if you use this[key] = value; it will enter an infinite loop and cause stackoverflow
}
}
次に、コードで
MyDic dic = new MyDic();
dic.Add("1", "one");
dic.Add("2", "two");
dic.Add("3", "three");
dic["1"] = "1one";
dic["2"] = dic.LastKey; // LastKey : "1"
dic["3"] = dic.LastKey; // LastKey : "2";
いいえ。これを格納するものは何もないので (これは非常に珍しい要件です)、自分で行う必要があります。
Generic Dictionary に行ってみませんか。
public class GenericDictionary<K, V> : Dictionary<K, V>
{
public K Key { get; set; }
public V this[K key]
{
get
{
Key = key;
return this.First(x => x.Key.Equals(key)).Value;
}
set
{
Key = key;
base[key] = value;
}
}
}
使用法:
Dictionary<string, string> exampleDic;
...
exampleDic["Temp"] = "ASDF"
var key = exampleDic.Key;