检查 Array1 中的任何值是否包含 Array2 中的任何值

问题描述 投票:0回答:2

如何检查数组中的值是否包含其他数组中的任何值?

例如:

string[] array1 = {"1726KB12","271","MB192"}
string[] array2 = {"KB","L1","C9"}

这些是我正在使用的两个数组。我需要检查 array1 中是否包含 array2 中的任何值(在本例中,array2 中的“KB”包含在 array1 中但不相同)。

有办法抓住这个吗?

我能找到的所有其他解决方案仅检查两个值是否相同。

c# arrays .net string contains
2个回答
1
投票

您可以使用 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.");
        }
    }
}

0
投票

// 检查 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.");
    }
© www.soinside.com 2019 - 2024. All rights reserved.