「複雑な」タイプのリストがあります-いくつかの文字列プロパティを持つオブジェクトです。リスト自体は別のオブジェクトのプロパティであり、次の簡略化されたクラス構造に示されているように、さまざまなタイプのオブジェクトが含まれています。
Customer {
public List<Characteristic> Characteristics;
.
.
.
}
Characteristic {
public string CharacteristicType;
public string CharacteristicValue;
}
現在の顧客の特定のタイプの特性の値のリストを収集できるようにしたいと考えています。これは、次の 2 段階のプロセスで実行できます。
List<Characteristic> interestCharacteristics = customer.Characteristics.FindAll(
delegate (Characteristic interest) {
return interest.CharacteristicType == "Interest";
}
);
List<string> interests = interestCharacteristics.ConvertAll<string>(
delegate (Characteristic interest) {
return interest.CharacteristicValue;
}
);
それはうまく機能しますが、それは長い道のりのようです。FindAll() メソッドと Convert() メソッドを連鎖させるか、完全に見落としている他の方法で、このリストに到達するためのより簡単な方法を見逃しているに違いないと確信しています。
背景として、私は.Net 2.0で作業しているため、.Net 2ジェネリックに限定されており、Characteristicクラスは外部依存関係です.構造を単純化するために変更することはできません.この問題との関係ではなく、重要なクラスです。
任意のポインターまたは追加の読み取りを歓迎します。