在c#中使用for循环检查列表中是不是存在字符串
Posted
技术标签:
【中文标题】在c#中使用for循环检查列表中是不是存在字符串【英文标题】:check whether a string exists in list using for loop in c#在c#中使用for循环检查列表中是否存在字符串 【发布时间】:2017-09-06 10:00:58 【问题描述】:我有一个包含字符串值的列表arrString
。我需要使用 C# 中的 for 循环检查字符串 lookupvalue.Longname
是否存在于列表中。
for(int i = 0 ;i < ResoCustomFields.LongnameNotToBeTaken.Count ;i++)
string myStringList = ResoCustomFields.LongnameNotToBeTaken[i].ToString();
var arrString = myStringList.Trim('(',')').Split(',').ToList();
if(arrString.Contains(resoField))
// if(!arrString[i].Any(str=>str.ToString().Contains(lookupValue.LongName)))
// if(lookupValue.LongName.Contains(arrString.ToString()))
//(!arrString.Any(str => str.Equals(lookupValue.LongName)))
// if(!arrString.Equals(lookupValue.LongName))
【问题讨论】:
Check if list contains element that contains a string and get that element的可能重复if (ResoCustomFields.LongnameNotToBeTaken.Any(line => line.Trim('(',')').Split(',').Any(item => item == resoField))) ...
我试过 arrString[i].Contains(lookupValue.LongName).. 还是不行
我已经完成了修剪和分割..
能举一个arrString和resoField的小例子吗?
【参考方案1】:
你可以试试下面的代码:
int pos = Array.IndexOf(arrString, lookupValue.LongName);
if (pos > -1)
//// DO YOUR STUF
以下是参考:
Checking if a string array contains a value, and if so, getting its position【讨论】:
我试过了,但索引总是-1,即使字符串值包含在列表中。以上是关于在c#中使用for循环检查列表中是不是存在字符串的主要内容,如果未能解决你的问题,请参考以下文章
在 C# 中使用“Regex”检查字符串数组中是不是存在元素