2

请你给我一个关于如何解决我当前问题的指导线。我不确定如何将其付诸实践。

我有一个计数器,在 for 语句中加我想添加一个需要执行以下操作的 if 语句:

Dim count as decimal = 1
For i As Integer = 1 To 400 - 1
   If count = 3 or count = 6 or count = 9 or count = 12 ..and on and on
       'All the numbers that mathes the count
   Else
       'All the numbers that does not match
   End if

   count += 1
Next

我想要一个关于如何编写 If count = 3 或 count = 6 等的更简单的方法

4

4 回答 4

2

如果计数应该可以在没有休息的情况下被 3 整除(看起来就是这样),您可以使用Mod运算符:文档

Mod运算符将除以 2 个数字并返回剩余的数字,例如14 Mod 3will 2。因此,您需要做的唯一检查是count Mod 3 = 0

Dim count as decimal = 1
For i As Integer = 1 To 400 - 1
   If count Mod 3 = 0 then
       'All the numbers that mathes the count
   Else
       'All the numbers that does not match
   End if

   count += 1
Next
于 2013-09-06T06:24:01.430 回答
2

1)为什么你有icount似乎总是相同的价值?

2)两种可能的解决方案:或者Mod其他人已经指出的运营商,假设您实际上想要每三个数字,或者:

For i As Integer = 1 To 400 - 1
   Select Case i
       Case 3,6,9,12,15....
           'Do stuff here for matching
       Case Else
           'All the numbers that does not match
   End Select
Next
于 2013-09-06T06:26:57.917 回答
1

模数是你的朋友。

number1 Mod number2


if count MOD 3 = 0

http://msdn.microsoft.com/en-us/library/se0w9esz(v=vs.90).aspx

于 2013-09-06T06:22:03.667 回答
1

我不确定语法,但您需要使用Mod运算符:

Dim count as decimal = 1
For i As Integer = 1 To 400 - 1
   If (count Mod 3) = 0
       'All the numbers that mathes the count
   Else
       'All the numbers that does not match
   End if

   count += 1
Next
于 2013-09-06T06:23:07.230 回答