如何使用循环匹配c#中包含数组任意值的字符串?
本文关键字:任意值 数组 字符串 包含 循环 何使用 | 更新日期: 2023-09-27 18:14:23
如何匹配字符串包含数组的任何值在c# w/o使用循环?
例如:
string[] abc= [val1,val2,val3]。字符串xyz= "演示字符串,检查ABC数组中是否包含任何值为val2";
我想检查数组abc是否存在于字符串xyz w/o中使用循环
一种方法可能是linq
string[] abc = { "abc", "def", "xyz" };
string xyz = "demo string to check if it contains any value in abc array that is val2";
bool result = abc.Any(xyz.Contains); //true
但是内部的linq和contains使用循环-所以我认为没有循环就没有可能的解决方案。
要从/在一个集合(读数组)中搜索,需要使用循环/迭代,因为涉及到集合。
即使你不写循环,写一些语法糖代码,在后台它也会使用loop/ITERATION。
正如其他人回答的那样,你可以使用LINQ或其他东西,但它会遍历你的集合
已经有一个contains函数。你可以这样使用
bool result=abc.Contains("walue to be checked");
另一种方法是使用LINQ
,但是这两个方法都使用内部循环。
您可以检查为:
string[] arr = { "abc", "bcd", "cde" };
if (arr.Contains("abc"))
{
Console.WriteLine("Found");
}
else
{
Console.WriteLine("Not Found");
}
为了更快的方法,你可以使用Array。IndexOf方法:
int pos = Array.IndexOf(arr, "abc");
if (pos > -1)
{
// the array contains the string and the pos variable
// will have its position in the array
}