0

オブジェクトがあるとします:

public class Person
{
   public IDictionary<string, string> RoleTypes { get; set; }
}

ロールタイプには、キーとして名前があり、値として説明があります。

  • マネージャー:物事を行うマネージャー
  • CIO: 彼らが何をしているのか誰にもわかりません
  • CEO: 彼らが何をしているのか誰も知りません。

だから今、私は人々のリストを言っています:

IE数え切れないほどの人々;

そのリストからどうにかして、CEO である人物を取り戻したいと思います。

people.Single(x => x.RoleTypes.Contains("CEO"));

まあ、それはコンパイルさえしません。

誰でもそれを機能させる方法を知っていますか?

4

2 に答える 2

3

キーを確認する必要があります(タイトルが辞書のキーである場合):

people.Single(x => x.RoleTypes.ContainsKey("CEO"));

とはいえ、このデータ編成構造は奇妙です。タイトルと説明を分けておく方が理にかなっているので、各個人内で重複することはありません。ユーザーは自分のタイトルのリストだけを保持でき、そのタイトルの説明は別の場所で検索できます。

于 2012-07-23T22:50:47.207 に答える
1

TryGetValue(key)はそれを行いませんか?

于 2012-07-23T23:02:45.657 に答える