这是我的表格数据
Areas Cities
==============================================================
Area1 City1 , City2 , City3 , City4
Area2 City5 , City6 , City7 , City8
Area3 City9 , City10 , City11 , City12
Area4 City13 , City14 , City15 , City16
如果我提供值City1
,我想获得Area1
(例如,City7 => Area2,City14 => Area4)
有没有简单的方法可以使用 Lambra Expression ?
答案 0 :(得分:2)
试试这段代码:
yourDataTable.First(x => x.Cities.Split(',').Any(y => y.Trim() == "City1"))
搜索字词的字符串类似于City 1
答案 1 :(得分:2)
如果您需要完全匹配,请尝试
var rec = tbl.ToList().FistOrDefault(x => x.Cities.Split(',')
.Any(City => City == SearchTerm));
Contains
会给出错误的结果,因为如果您搜索City1
它会匹配City11
注意:强>
由于您在,
之前有空格需要调用Trim
方法来获取该字词,如果您需要进行大小写密集搜索,请执行以下操作
var rec = tbl.ToList().FistOrDefault(x => x.Cities.Split(',')
.Any(City => City.Trim().Equals(SearchTerm, StringComparison.InvariantCultureIgnoreCase)));