私は車のリストを持っています。すべての車には乗客のリストがあります。
Linq を使用して、社会保障番号 999-99-9999 の乗客が乗っている車を見つけるにはどうすればよいですか?
これが私が得た距離です。
var Passenger= Cars.SelectMany(c => c.Passengers).Where(p => p.SSN == "999-99-9999");
これは私に乗客を与えます。でも、この乗客が乗っている車が欲しい。
次のようなクエリを作成できます。
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 が値型の場合はデフォルト値) を返します。
変数があるとしましょうList<Car> cars
プロパティをCar
公開します
List<Passenger> Passengers
プロパティをPassenger
公開しますstring SSN
var p = cars.Where(s => s.Passengers.Any(p => p.SSN == "999-99-9999"))