Dim*_*dis 125 .net c# linq contains list
在寻找这个问题的答案时,我遇到过类似的问题,但是我还没有完全理解它们(因此,实现它们),因为我对它并不熟悉.基本上,我想要的是:
老实说,我不知道我会怎么做.我能想到的是这个(当然不起作用):
if (myList.Contains(myString))
string element = myList.ElementAt(myList.IndexOf(myString));
Run Code Online (Sandbox Code Playgroud)
我知道为什么它不起作用:
myList.Contains()不返回true,因为它将检查列表的整个元素是否与我指定的字符串匹配.myList.IndexOf() 将找不到事件,因为再次出现这种情况,它将检查与字符串匹配的元素.尽管如此,我还不知道如何解决这个问题,但我认为我必须按照类似问题的建议使用LINQ.话虽如此,如果是这种情况,我希望回答者在他们的例子中向我解释LINQ的使用(正如我所说的,我在C#时代并没有对它感到困扰).先谢谢你们(和加尔斯?).
编辑:我想出了一个解决方案; 只需遍历列表,检查当前元素是否包含字符串,然后设置一个等于当前元素的字符串.我想知道,有没有比这更有效的方法?
string myString = "bla";
string element = "";
for (int i = 0; i < myList.Count; i++)
{
if (myList[i].Contains(myString))
element = myList[i];
}
Run Code Online (Sandbox Code Playgroud)
Dav*_*ish 179
你应该可以在这里使用Linq:
var matchingvalues = myList
.Where(stringToCheck => stringToCheck.Contains(myString));
Run Code Online (Sandbox Code Playgroud)
如果您只想返回第一个匹配项:
var match = myList
.FirstOrDefault(stringToCheck => stringToCheck.Contains(myString));
if(match != null)
//Do stuff
Run Code Online (Sandbox Code Playgroud)
use*_*rda 27
基本答案是:您需要遍历循环并检查包含指定字符串的任何元素.所以,让我们说代码是:
foreach(string item in myList)
{
if(item.Contains(myString))
return item;
}
Run Code Online (Sandbox Code Playgroud)
等效但简洁的代码是:
mylist.Where(x => x.Contains(myString)).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)
这里,x是一个参数,在上面的代码中就像"item".
Chr*_*ris 12
string result = myList.FirstOrDefault(x => x == myString)
if(result != null)
{
//found
}
Run Code Online (Sandbox Code Playgroud)
for (int i = 0; i < myList.Length; i++)
{
if (myList[i].Contains(myString)) // (you use the word "contains". either equals or indexof might be appropriate)
{
return i;
}
}
Run Code Online (Sandbox Code Playgroud)
旧时尚圈几乎总是最快的.
如果你想要一个包含你的字符串的字符串列表:
var newList = myList.Where(x => x.Contains(myString)).ToList();
Run Code Online (Sandbox Code Playgroud)
另一种选择是使用 Linq FirstOrDefault
var element = myList.Where(x => x.Contains(myString)).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)
请记住,该Contains方法区分大小写。
| 归档时间: |
|
| 查看次数: |
473433 次 |
| 最近记录: |