1

这是我的表格数据,

 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的捷径?

4

2 回答 2

2

试试这个代码:

yourDataTable.First(x => x.Cities.Split(',').Any(y => y.Trim() == "City1"))

搜索词是字符串的地方City 1

于 2013-07-24T05:52:22.860 回答
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)));
于 2013-07-24T06:00:46.493 回答