[英]List Collection Contains exact string
我有一個列表集合,並說我正在添加3個項目。
list.Add(new ContentDomain() { Id = "1" , Content = "aaa,bbb,ccc,ddd"});
list.Add(new ContentDomain() { Id = "2" , Content = "aa,bb,cc,dd"});
list.Add(new ContentDomain() { Id = "3" , Content = "a,b,c,d"});
現在我想要的是獲取Content屬性中只有'a'的行。
就像我嘗試過類似的東西
list = list.Where(x => x.Content.ToLower().Contains("a")).ToList();
但這會給我三行。
我想在字符串中搜索確切的字符串。
list.Where(x => x.ToString().ToLower().Split(',').Where(a => a.Trim() == "a").Any()).ToList();
編輯:將Count()> 0更改為Any()以獲得更好的性能
將其轉換為字符串數組,並在數組中查找字符串。
list = list.Where(x => x.Content.ToLower().Split(',').IndexOf("a")>= 0).ToList();
嘗試這個:
IList<ContentDomain> returned = new List<ContentDomain>();
foreach(ContentDomain myList in list)
{
var ret = myList.Content.Split(',');
bool exists = (from val in ret
where val.Contains('a')
select true).FirstOrDefault();
if (exists)
returned.Add(myList);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.