C# 如何使用item在列表中查找项
我有一个使用以下项目的列表 Id CategoryName 1 CinemaGallery,CinemaEvents,Cinema 2 CinemaNews, Cinema, CinemaTrailer 3 TamilCinemaNews, TamilCinema, Tamil Id类别名称 1电影院画廊、电影院活动、电影院 2电影新闻、电影、电影预告片 3泰米尔电影新闻,泰米尔电影,泰米尔 现在我必须拆分每个categoryname,并找到包含每个类别的列表。例如,我必须找到仅包含CategorynameC# 如何使用item在列表中查找项,c#,list,C#,List,我有一个使用以下项目的列表 Id CategoryName 1 CinemaGallery,CinemaEvents,Cinema 2 CinemaNews, Cinema, CinemaTrailer 3 TamilCinemaNews, TamilCinema, Tamil Id类别名称 1电影院画廊、电影院活动、电影院 2电影新闻、电影、电影预告片 3泰米尔电影新闻,泰米尔电影,泰米尔 现在我必须拆分每个categoryname,并找到包含每个类别的列表。例如,我必须找到仅包含
Cinema
或仅包含CinemaEvents
或仅包含TamilCinema
的列表
我使用了Contains方法,但它返回每个字符串中包含电影院的所有列表
你能帮帮我吗?试试这样的方法:
foreach (string s in myList)
{
if (s.Contains("Cinema") && !s.Contains("Cinema "))
{
//do comething with 's'
}
}
然后您只需使用
==
而不是IndexOf
或Contains
:
var cinema = list.First(i => i.Name == "Cinema");
或者使用列表。查找:
var cinema = list.Find(i => i.Name == "Cinema");
您可以使用可枚举。其中
或查找所有匹配元素:
var cinemas = list.FindAll(i => i.Name == "Cinema");
cinemas = list.Where(i => i.Name == "Cinema").ToList();
编辑(将上次编辑考虑在内):
试试这个:
List<string> yourNewList = yourList.Select(x => x = "Cinema").ToList();
List yourNewList=yourList.Select(x=>x=“电影院”).ToList();
试试这个
var list = yourlist.Where(a => a == "Cinema").ToArray();
举一个你迄今为止尝试过的例子会有所帮助。如果列表中包含多个条目“Cinema”?这是一个不错的编辑后问题。你可以根据示例标准显示预期的输出,这将使问题更清楚。请检查我上面编辑的问题为什么不只是平等?我假设他给出的每一行都包含在列表条目中。从最近的编辑看来,我可能是正确的。它不应该是。Where(x=>x==“电影院”)
?@MatthewRz:不,它应该是。Where(x=>x.Name==“电影院”)。First()
@TimSchmelter啊,我没有看到他的更新。@MatthewRz:在更新之前是这样的,现在他需要。Where(x=>x.Name==“电影院”)。ToList()
。
You can do like this ..
var itm = list.Find(a =>
{
var s = a.Split(Convert.ToChar(",")).ToList();
return s.Exists(b => b == "Cinema");
});
var list = yourlist.Where(a => a == "Cinema").ToArray();