0

私は車のリストを持っています。すべての車には乗客のリストがあります。

Linq を使用して、社会保障番号 999-99-9999 の乗客が乗っている車を見つけるにはどうすればよいですか?

これが私が得た距離です。

var Passenger= Cars.SelectMany(c => c.Passengers).Where(p => p.SSN == "999-99-9999");

これは私に乗客を与えます。でも、この乗客が乗っている車が欲しい。

4

2 に答える 2

4

次のようなクエリを作成できます。

var selectedCars = cars.Where(c => c.Passengers.Any(p => p.SSN == "999-99-9999"));

乗客がいる単一の車が必要な場合は、次を使用できますFirstOrDefault()

var car = cars.Where(c => c.Passengers.Any(p => p.SSN == "999-99-9999"))
              .FirstOrDefault();

車が見つからない場合、これは null (または Car が値型の場合はデフォルト値) を返します。

于 2013-05-01T18:02:16.607 に答える
2

変数があるとしましょうList<Car> cars

プロパティをCar公開します

List<Passenger> Passengers

プロパティをPassenger公開しますstring SSN

var p = cars.Where(s => s.Passengers.Any(p => p.SSN == "999-99-9999"))
于 2013-05-01T18:03:27.513 に答える