仅打印数组的不同或重复元素,而忽略其余元素-vb

时间:2019-02-21 15:31:15

标签: arrays vb.net distinct

在vb上是否有一个功能仅打印数组的不同元素,而不打印List或ArrayList?我的代码是这个
Procfile
Dim TestVal(4) as String
TestVal(0) = "a"
TestVal(1) = "a"
TestVal(2) = "b"
TestVal(3) = "c"
TestVal(4) = "c"
我想成为我的输出的是Label7.Text = String.Join(",", TestVal.Distinct()),并且只是忽略其他元素。是否有类似a,cDistinct()子句的功能?

2 个答案:

答案 0 :(得分:2)

要仅查找重复项,可以按以下方式使用LINQ分组:

Dim q = From p In TestVal
        Group By p Into Group, Count()
        Where Count > 1
        Select p
        Order By p

Console.WriteLine(String.Join(",", q)) ' will print "a,c"

请注意,Where Count > 1仅选择大于一个(重复)的值。

另一方面,如果您只想查找唯一值,请按如下所示将Where Count > 1更改为Where Count = 1

Dim q = From p In TestVal
        Group By p Into Group, Count()
        Where Count = 1
        Select p
        Order By p

Console.WriteLine(String.Join(",", q)) ' will print "b"

无论哪种方式,Order By p是可选的。如果不需要对结果字符串连接进行排序,则可以将其忽略。

答案 1 :(得分:1)

好,尝试以下代码:

B

也许您想将其放在帮助器类中。要使用它,只需将其命名为:

B.astype(np.uint64) * 4