【问题标题】:VB.Net - Populating ArraysVB.Net - 填充数组
【发布时间】:2017-07-15 14:07:10
【问题描述】:

所以,我在下面有这个填充数组的代码。

Module Module1
    Sub Main()
        Dim n(10) As Integer
        Dim i, j As Integer

        For i = 0 to 10 step 3
            n(i) = i + 100
        Next i
        For j = 0 to 10
            Console.WriteLine("Element({0}) = {1}", j, n(j))
        Next j
        Console.ReadLine()
        End Sub
        End Module

我想知道为什么代码的输出 是

Element({0}) = 100
Element({1}) = 0
Element({2}) = 0
Element({3}) = 103
Element({4}) = 0
Element({5}) = 0
Element({6}) = 106
Element({7}) = 0
Element({8}) = 0
Element({9}) = 109

我的本​​意是这样的

Element({0}) = 100
Element({1}) = 103
Element({2}) = 106
Element({3}) = 109
Element({4}) = 112
Element({5}) = 115
Element({6}) = 118
Element({7}) = 121
Element({8}) = 124
Element({9}) = 127

提前谢谢你!!

【问题讨论】:

  • 第 3 步将为您完成。
  • 为了澄清@LarsTech 的评论,当您执行For i = 0 to 10 step 3 时,您实际上是在跳过每三个数字,因此数组中将分配的唯一整数将是索引为 0、3 的整数, 6 和 9。
  • @AlexM 谢谢你的评论! 'For i = 0 to 10 Step 3' 当我运行此代码'Console.WriteLine(i)' 的输出为 0369??它没有像我的例子那样跳过任何数字??
  • 你必须反其道而行之。摆脱这一步。只是n(i) = (i * 3) + 100
  • 我刚刚删除了我的答案,因为我在发布后看到@LarsTech 已经在他的评论中回答了这个问题。不过,我有一点解释要去做

标签: arrays vb.net for-loop


【解决方案1】:

不要使用Step 3,而是将3移到下一行:

For i = 0 to 10
     n(i) = 3 * i + 100
Next i

如果有什么不明白的,可以随时问我。

(编辑:我看到这是在 cmets 中回答的,我之前没有读过。)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-20
    • 2018-03-30
    • 1970-01-01
    • 2015-03-23
    • 1970-01-01
    • 1970-01-01
    • 2019-01-31
    • 2012-03-14
    相关资源
    最近更新 更多