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

how to get comma separated multiple values in firstordefault in linq query

我有一个城市的名字。单身的时候来了,多了的时候不来

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 class,它具有属性 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 方法。