现在有两个数组dim A as string() = {"A","B"}
dim B as string() = {"A","C"}
如何判断这两个数组是否相等.遍历比较的方法效率不高(如果数组内元素较多的时候)
网上有用JSON.stringify()方法来转换比较
论坛里也有说用:Output.Show(Enumerable.SequenceEqual(A, B))
也有:Output.Show(A.SequenceEqual(B))
但实测这种方法有缺陷,就是完全区分大小写
Dim x As String() = {"A","B"}
Dim y As String() = {"a","B"}
Output.Show(Enumerable.SequenceEqual(x, y))-----执行结果是false,如果都改为大写,就true了
Output.Show(x.SequenceEqual(y)) -----执行结果是false,如果都改为大写,就true了
'
也有说用Equals()
狐表有没有简单的函数或方法调用的?
看到有一个方法,代码比较长
Dim A As Integer() = {0,1,2}
Dim B As Integer() = {0,1,2}
Dim res As Integer = ctype(a , System.Collections.IstructuralComparable).CompareTo(b,Comparer(of Integer).Default)
output.show(res)---返回0为相等,-1为不等
但这个方法只能比较数值型数组,string型的不可以
如果要判断集合相等,又要用什么方法呢?
当然了,有判断数组相等的方法调用,那就把集合转成数组再比较也行
[此贴子已经被作者于2020/10/18 22:52:50编辑过]