如何检查数组中的值是否包含其他数组中的任何值?
例如:
string[] array1 = {"1726KB12","271","MB192"}
string[] array2 = {"KB","L1","C9"}
这些是我正在使用的两个数组。我需要检查 array1 中是否包含 array2 中的任何值(在本例中,array2 中的“KB”包含在 array1 中但不相同)。
有办法抓住这个吗?
我能找到的所有其他解决方案仅检查两个值是否相同。
您可以使用 LINQ 的
.Any()
函数返回一个布尔值,指示 array1 包含 array2 中存在的任何值:
using System;
using System.Linq;
class Program
{
static void Main()
{
string[] array1 = {"1726KB12", "271", "MB192"};
string[] array2 = {"KB", "L1", "C9"};
bool containsValue = array1.Any(a1 => array2.Any(a2 => a1.Contains(a2)));
if (containsValue)
{
Console.WriteLine("At least one value from array2 is contained within array1.");
}
else
{
Console.WriteLine("No value from array2 is contained within array1.");
}
}
}
// 检查 array2 中的任何元素是否包含在 array1 的任何元素中 bool containsSubstring = array1.Any(item1 => array2.Any(item2 => item1.Contains(item2)));
if (containsSubstring)
{
Console.WriteLine("At least one element from array2 is contained within array1.");
}
else
{
Console.WriteLine("No element from array2 is contained within array1.");
}