我有这个清单:
List<string> lst01 = new List<string>();
lst01.Add("1");
lst01.Add("999");
lst01.Add("888");
List<string> lst02 = new List<string>();
lst02.Add("4");
lst02.Add("5");
lst02.Add("6");
string myString = "123";
我想知道myString是否包含列表中的任何字符串。
因此该方法将使用第一个列表返回true,而使用第二个列表返回false。
非常感谢。
答案 0 :(得分:4)
var result1 = lst01.Any(v=> myString.Contains(v));
var result2 = lst02.Any(v=> myString.Contains(v));
答案 1 :(得分:1)
您可以尝试以下内容:
bool contains = lst01.Any(x=>x.myString.Contains(x))||list02.Any(x=>x.myString.Contains(x))
或者这个:
bool containedInFirstList = lst01.Any(x=>x.myString.Contains(x));
bool containedInSecondList = lst02.Any(x=>x.myString.Contains(x));
第二个apporach会单独查看列表,如果您要查找的列表中包含或不包含,您将获得true
或false
。
第一种方法最初的方法是相同的,但最后得到的结果如果你遵循第二种方法,你会获得结果的逻辑或。
答案 2 :(得分:1)
尝试下面的代码,这里r1返回true,r2返回false: -
List<string> lst01 = new List<string>();
lst01.Add("1");
lst01.Add("999");
lst01.Add("888");
List<string> lst02 = new List<string>();
lst02.Add("4");
lst02.Add("5");
lst02.Add("6");
string myString = "123";
var r1 = lst01.Any(w => myString.Contains(w));
var r2 = lst02.Any(w => myString.Contains(w));
答案 3 :(得分:1)
string myString = "123";
for (int i=0, i<lst01.size , i++){
if (myString.Contains(lst01[i]))
{
return true;
}}
return false;