我熟悉 C#,但完全不熟悉 VB,我想将 C# 示例(在 LINQPad 中)转换为 VB:
if (2 + 2 == 4)
"True".Dump();
Run Code Online (Sandbox Code Playgroud)
我想出了以下工作 VB 代码:
Dim word = "True"
If 2 + 2 = 4 Then
word.Dump
End If
Run Code Online (Sandbox Code Playgroud)
现在,为什么我不能只写以下内容呢?
If 2 + 2 = 4 Then
"True".Dump ' BC30035 Syntax error
End If
Run Code Online (Sandbox Code Playgroud)
似乎我无法将方法应用于 VB 中的文字,我必须事先将其存储在变量中,但我肯定在这里遗漏了一些东西......不是吗?
PS 字符串周围的括号不起作用。
问题不在于您不能对文字调用方法。问题是你不能用文字开始一行代码,就像你不能用New关键字开始一行代码一样。如果你这样做:
Dim x = "Hello".Split("l"c)
Dim y = 2.ToString()
Run Code Online (Sandbox Code Playgroud)
它可以正常工作。如果你这样做:
"Hello".Split("l"c)
2.ToString()
Run Code Online (Sandbox Code Playgroud)
您会收到两个错误,在这两种情况下,将鼠标悬停在问题上会告诉您:
只有成员访问表达式才能启动调用语句。
就像你想用构造函数开始一行一样,你可以使用Call关键字来有效地做你想做的事情:
Call "Hello".Split("l"c)
Call 2.ToString()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
44 次 |
| 最近记录: |