我们如何匹配字符串包含C#w / o中使用循环的任何数组值?
例如:
string [] abc = [val1,val2,val3]。 string xyz =" demo string,用于检查它是否包含abc数组中的任何值,即val2&#34 ;;
我想使用循环
检查字符串xyz中是否存在数组abc的任何值答案 0 :(得分:2)
一个方法可能是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并包含使用循环 - 所以我认为没有循环就没有可能的解决方案。
答案 1 :(得分:1)
要从集合中搜索/读取数组(读取数组),您需要使用循环/迭代,因为涉及集合。
即使你不编写循环并编写一些语法糖代码,在后台也会使用LOOP / ITERATION。
正如其他人回答的那样,您可以使用LINQ或其他东西,但它会迭代您的收藏。
答案 2 :(得分:0)
已经有一个包含功能。你可以像这样使用它
bool result=abc.Contains("walue to be checked");
替代方法是使用LINQ
但这两种方法都使用内部循环。
答案 3 :(得分:0)
你可以检查:
string[] arr = { "abc", "bcd", "cde" };
if (arr.Contains("abc"))
{
Console.WriteLine("Found");
}
else
{
Console.WriteLine("Not Found");
}
为了更快捷地使用Array.IndexOf Method:
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
}