由于 BC30491,我的 WriteConcatenated 方法不起作用
My WriteConcatenated method doesn't work because of BC30491
Imports System
Module Program
Sub WriteConcatenated(ByVal ParamArray TextArr As String())
For I As Integer = 0 To TextArr.Length - 1
For J As Integer = 0 To TextArr.Length - 1
Dim ConcatenatedText = TextArr(I) + TextArr(J)
For Each Text As String In TextArr
If Text = ConcatenatedText Then
Console.WriteLine(Text)
End If
Next
Next
Next
End Sub
Sub Main(args As String())
Console.WriteLine(WriteConcatenated("five", "cents" "twenty", "twentycents"))
Console.ReadLine()
End Sub
End Module
如果有一个元素是由参数数组的其他元素串联而成的,我想将它们打印到屏幕上。
例如:上述参数数组中第3个索引的“twentycents”是数组中第2个索引的“twenty”和第1个索引的“cents”的串联。然后数组的第三个元素将被打印到屏幕上。
就我而言,代码没有错误,但是 Visual Basic 的编译器给了我
BC30491: 表达式不产生值
我该如何纠正这个错误?
WriteConcatenated()
是一个没有“return”值的子例程。
变化:
Console.WriteLine(WriteConcatenated("five", "cents" "twenty", "twentycents"))
至:
WriteConcatenated("five", "cents" "twenty", "twentycents")
它会起作用。
另一方面,如果 WriteConcatenated()
是一个使用 Function
关键字声明的函数,它 return 使用 Return
关键字编辑了一个值,传递值 return 将其编辑为 Console.WriteLine()
就像您所做的那样。
Imports System
Module Program
Sub WriteConcatenated(ByVal ParamArray TextArr As String())
For I As Integer = 0 To TextArr.Length - 1
For J As Integer = 0 To TextArr.Length - 1
Dim ConcatenatedText = TextArr(I) + TextArr(J)
For Each Text As String In TextArr
If Text = ConcatenatedText Then
Console.WriteLine(Text)
End If
Next
Next
Next
End Sub
Sub Main(args As String())
Console.WriteLine(WriteConcatenated("five", "cents" "twenty", "twentycents"))
Console.ReadLine()
End Sub
End Module
如果有一个元素是由参数数组的其他元素串联而成的,我想将它们打印到屏幕上。
例如:上述参数数组中第3个索引的“twentycents”是数组中第2个索引的“twenty”和第1个索引的“cents”的串联。然后数组的第三个元素将被打印到屏幕上。
就我而言,代码没有错误,但是 Visual Basic 的编译器给了我
BC30491: 表达式不产生值
我该如何纠正这个错误?
WriteConcatenated()
是一个没有“return”值的子例程。
变化:
Console.WriteLine(WriteConcatenated("five", "cents" "twenty", "twentycents"))
至:
WriteConcatenated("five", "cents" "twenty", "twentycents")
它会起作用。
另一方面,如果 WriteConcatenated()
是一个使用 Function
关键字声明的函数,它 return 使用 Return
关键字编辑了一个值,传递值 return 将其编辑为 Console.WriteLine()
就像您所做的那样。