【问题标题】:Visual Basic - My array values are not passing to the function what did I do wrong?Visual Basic - 我的数组值没有传递给函数我做错了什么?
【发布时间】:2016-12-11 21:49:11
【问题描述】:
' This will determine the pay precent based of a function
    Dim decRaisePercent As Decimal
    Dim intCount As Integer = 0

    For intCount = 1 To _intSizeOfArray

        decRaisePercent = RaisePercentage(_strRaiseId)
    Next

    For intCount = 1 To _intLifeOfItems
        _decNewPayRate(_intSizeOfArray) += _decPayRate(_intSizeOfArray) * decRaisePercent
    Next

Function RaisePercentage(ByRef strRaiseId() As String) As Decimal
    Dim RaisePercent As Decimal

    MessageBox.Show("test " & strRaiseId(_intSizeOfArray))
    Select Case strRaiseId(_intSizeOfArray)
        Case "A1"
            RaisePercent = 0.015D
        Case "A2"
            RaisePercent = 0.02D
        Case "A3"
            RaisePercent = 0.025D
    End Select

    Return RaisePercent
End Function

您好,我的数组值没有传递给函数,我不知道出了什么问题。这些值应该是 A1、A2、A1 和 A3,但它只在消息框中将 A3 返回给我。谁能帮我弄清楚我有多愚蠢?

提前感谢您的帮助!

【问题讨论】:

  • 它们都被通过了,你已经硬编码了,只看最后一个:Select Case strRaiseId(_intSizeOfArray)(假设 _intSizeOfArray 是名称所推断的)......然后应用加薪的逻辑是分离的从上往下看;所有的加薪都将基于最后一个值
  • 嗯谢谢你我已经修复了我所有的东西现在我在我的程序的其余部分也遇到了一些其他问题>.

标签: arrays vb.net visual-studio function


【解决方案1】:

这个表达式:

strRaiseId(_intSizeOfArray)

的意思是,“把数组末尾的项目给我”。

将函数改为接受数组中的索引或数组中每个项目的实际单元格值,而不是数组。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多