私はphoneBookからBillの電話番号を取得したいと思います。辞書から特定のインデックスを取得
class PersonsName
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
// Dictionary Class, add contacts to phone book
Dictionary<PersonsName, int> phoneBook = new Dictionary<PersonsName, int>()
{
{new PersonsName {FirstName = "Bill", LastName = "Gates" }, 5550100 },
{new PersonsName {FirstName = "Mark", LastName = "Zuckerberg" }, 5551438 }
};
キーが見つからないと、次のような例外が発生します。辞書をループせずに電話番号を取得するにはどうすればよいですか?
PersonsName personA = new PersonsName { FirstName = "Bill", LastName = "Gates" };
int billssNumber = phoneBook[personA]; //key not found
本当に必要な場合は、Equalsメソッドを上書きする必要があります。次に例を示します:http://stackoverflow.com/questions/634826/using-an-object-as-a-generic-dictionary-key – Jannik
あなたは 'GetHashCode'と' Equals' **をオーバーライドしなければなりません。それを辞書のキーとして使用するための読み取り専用オブジェクトです。 – Enigmativity
@Jannik - そのようなものは削除しないでください。それは、コメントの歴史を理解することが難しくなります。 – Enigmativity