如何比较两个字符串数组?

bil*_*ill 2 vb.net arrays string

我想比较两个字符串数组。我不知道如何在vb.net中实现这个。

假设我有两个数组

Dim A() As String = {"Hello", "How", "Are", "You?")
Dim B() As String = {"You", "How", "Something Else", "You")
Run Code Online (Sandbox Code Playgroud)

我想比较 A() 和 B() 看看它们有何相似和不同(元素的顺序无关紧要,这意味着程序不会检查元素的顺序,仅比较是否有相同的元素)。此外,代码会忽略同一字符串数组中的相同元素(例如数组 B() 中的第二个“You”。然后代码将返回相同的元素和不同的元素。在这种情况下,输出消息应该是:

相同的元素是“你”和“如何”

不同的元素是“其他东西”

Sha*_*r80 5

用于查找两个数组之间的差异以及Linq查找两个数组中都有哪些元素。Except()Intersect()

Imports System.Linq

Module Module1
    Sub Main()
        Dim A() As String = {"Hello", "How", "Are", "You?"}
        Dim B() As String = {"You", "How", "Something Else", "You"}

        Console.WriteLine("A elements not in B: " + String.Join(", ", A.Except(B)))
        Console.WriteLine("B elements not in A: " + String.Join(", ", B.Except(A)))
        Console.WriteLine("Elements in both A & B: " + String.Join(", ", A.Intersect(B)))

        Console.ReadLine()
    End Sub
End Module
Run Code Online (Sandbox Code Playgroud)

结果:

A elements not in B: Hello, Are, You?
B elements not in A: You, Something Else
Elements in both A & B: How
Run Code Online (Sandbox Code Playgroud)