我使用下面的项目列表
Id CategoryName 1 CinemaGallery,CinemaEvents,Cinema 2 CinemaNews, Cinema, CinemaTrailer 3 TamilCinemaNews, TamilCinema, Tamil
现在我必须拆分每个类别名称,并且必须找到包含每个类别的列表。例如,我必须找到仅包含类别名称Cinema
或仅CinemaEvents
或仅TamilCinema
的列表。
我使用了Contains方法,但它返回了每个字符串中包含Cinema的所有列表。
你能帮我吗?
答案 0 :(得分:1)
然后您只需使用==
代替IndexOf
或Contains
:
var cinema = list.First(i => i.Name == "Cinema");
或使用List.Find
:
var cinema = list.Find(i => i.Name == "Cinema");
您可以使用Enumerable.Where
或List.FindAll
查找所有匹配的元素:
var cinemas = list.FindAll(i => i.Name == "Cinema");
cinemas = list.Where(i => i.Name == "Cinema").ToList();
修改(将您的上一次修改考虑在内):
var allCinemasOnly = list
.Where(l => l.All(cat => cat.CategoryName == "Cinema"))
.ToList();
答案 1 :(得分:0)
尝试这样的事情:
foreach (string s in myList)
{
if (s.Contains("Cinema") && !s.Contains("Cinema "))
{
//do comething with 's'
}
}
答案 2 :(得分:0)
试试这个:
List<string> yourNewList = yourList.Select(x => x = "Cinema").ToList();
答案 3 :(得分:0)
You can do like this ..
var itm = list.Find(a =>
{
var s = a.Split(Convert.ToChar(",")).ToList();
return s.Exists(b => b == "Cinema");
});
答案 4 :(得分:0)
试试这个
var list = yourlist.Where(a => a == "Cinema").ToArray();