获取类中一个变量的所有值
本文关键字:变量 一个 获取 | 更新日期: 2023-09-27 18:08:58
我有两个类一个是Destinations另一个是DestinationDetails
public class Destinations
{
public Destinations() { }
public string CarrierName { get; set; }
public List<DestinationDetails> Details { get; set; }
}
public class DestinationDetails
{
public DestinationDetails() { }
public string Destination { get; set; }
public string Type { get; set; }
}
我想从第一个类的对象列表中获得第二个类中的所有string "Destination"
我有List<Destinations>
,我不想用for loop or foreach
语句
var dest = new Destinations();
//Initialize the details
var destNames = dest.Details.Select(d => d.Destination).ToList();
你在找这样的东西吗?
var det = new Destinations();
det.Details = new List<DestinationDetails>();
det.Details.Add(new DestinationDetails() { Destination = "CA" });
det.Details.Add(new DestinationDetails() { Destination = "NJ" });
...
...
var details = new DestinationDetails();
details.Destination = string.Join(",",det.Details.Select(x => x.Destination).ToArray() );
更新:-
提供的目的地列表"allDet",你可以得到的字符串列表如下:-
alldet.Where(x => x.Details != null).SelectMany(x => x.Details.Select(y => y.Destination)).ToList() //With out ToList() it will give you IEnumerable<String>
List<Destinations> AirportDestinations ;
//这个列表有Destinations
对象有Details
对象有Destination
对象
所以通过使用SelectMany
List<string> cities.AddRange(AirportDestinations.Where(x => x.Details != null).SelectMany(d => d.Details.Select(s => s.Destination)));
现在列表中所有的对象都有Destination
了