VB.Net如何在数组中查找一个数字是否超过三次

时间:2015-12-13 01:22:58

标签: arrays vb.net duplicates

我使用的是Visual Basic, 我的好处有问题,我有一个包含9个数字的数组,所以我希望数组的数字不超过3次...

Dim PArray= New Integer() {30, 50, 100, 200, 500, 1000, 2000, 5000}
Dim T1(8) As Integer
Dim a As Integer = r.Next(0, 8)
T1(i) = PArray(a)

如你所见,从PArray中填充了T1阵列,我想要的一切就是不要填充3个相同的数字,如: 恩。 T1 = {30,50,30,500,30,50,2000,100,2000}' 30是三倍X不想要这个 所以,如果发生这种情况,可以用PArray中的其他数字代替,但要确保其他数字也不要在阵列中三次......

1 个答案:

答案 0 :(得分:1)

检查集合是否有3,如果没有添加下一个数字。

Static rnd As New Random
Dim PArray = {30, 50, 100, 200, 500, 1000, 2000, 5000}
Dim T1 As New List(Of Integer)
Do Until T1.Count = 8
   Dim rndValue = PArray(rnd.Next(0, PArray.Count))
   Dim cnt = N1.Where(Function(i) i = rndValue).Count
   If Not cnt = 3 Then
     T1.Add(rndValue)
   End If
Loop