如何在linq查询中获得firstdefault中的逗号分隔的多个值



我有一个城市名称。当它单身时,它来了,但当它有多个时,它不来了。

Exp Op- Hyderabad,Mumbai

error message: firstOrdefault error
x.cities = HYD,MUM;
var citieslst =  [{
"SelectedValue": "HYD",
"DisplayValue": "hyderbad"

},
{
"SelectedValue": "MUM",
"DisplayValue": "Mumbai"

}]

我需要一个for循环,以便我可以在选定的城市中获得多个值。

lstRecords.ForEach(x =>
{
x.SelectedCities = citieslst.FirstOrDefault(ch => ch.SelectedValue == x.cities).DisplayValue;
});

你可以这样做。

我假设你有一个City类,具有属性SelectedValueDisplayValue。并且您已经将JSON字符串反序列化为列表。

List<City> ls = new List<City>();
foreach(var item in lstRecords)
{
if(x.cities.Contains(item.SelectedValue)
{
ls.Add(item);
}
}

另一个解决方案可能是从CSV中创建一个列表,如x.cities.Split(',').ToList(),然后使用Contains方法。

最新更新