5

私が一般的なリストを持っていたら、私はこのようなことをしたでしょう

myListOfObject.FindAll(x=>(x.IsRequired==false));

で同様のことを行う必要がある場合はどうすればよいHashtableですか? 一時的にコピーしhashtableてループして比較することは、私が試す最後のことです:-(

4

1 に答える 1

13

まず、System.Collections.Generic.Dictionary<TKey, TValue>とは対照的に、強力な型のサポートを強化するために使用しHashtableます。

1 つのキーまたは 1 つの値だけを検索する必要がある場合は、メソッドContainsKey(object key)またはContainsValue(object value)を使用します。どちらもHashtable型に含まれています。

Hashtableまたは、さらに進んで、パーツで linq 拡張機能を使用することもできます。

Hashtable t = new Hashtable();
t.Add("Key", "Adam");

// Get the key/value entries.
var itemEntry = t.OfType<DictionaryEntry>().Where(de => (de.Value as string) == "Adam");

// Get just the values.
var items = t.Values.OfType<string>().Where(s => s == "Adam");

// Get just the keys.
var itemKey = t.Keys.OfType<string>().Where(k => k == "Key");
于 2012-07-02T12:41:40.580 に答える