我熟悉 C#,但完全不熟悉 VB,我想将 C# 示例(在 LINQPad 中)转换为 VB:
if (2 + 2 == 4)
"True".Dump();
我想出了以下有效的 VB 代码:
Dim word = "True"
If 2 + 2 = 4 Then
word.Dump
End If
现在,为什么我不能只写以下内容呢?
If 2 + 2 = 4 Then
"True".Dump ' BC30035 Syntax error
End If
似乎我不能在 VB 中将方法应用于垃圾,我必须先将它存储在变量中, 但我肯定在这里遗漏了一些东西......不?
附言字符串周围的括号并没有更好地工作。
最佳答案
问题不在于您不能对文字调用方法。问题是您不能以文字开始一行代码,就像您不能以 New
关键字开始一行代码一样。如果你这样做:
Dim x = "Hello".Split("l"c)
Dim y = 2.ToString()
它没有问题。如果你这样做:
"Hello".Split("l"c)
2.ToString()
你得到两个错误,在这两种情况下,将鼠标悬停在问题上会告诉你:
Only member access expression can start an invocation statement.
就像您想用构造函数开始一行一样,您可以使用 Call
关键字来有效地执行您想要的操作:
Call "Hello".Split("l"c)
Call 2.ToString()
关于vb.net - 将方法应用于文字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66117062/