Silverlight VB.Net 单行多重赋值

Has*_*anG 0 vb.net silverlight variable-assignment

我是 Silverlight 的新手,以前曾在 VB.Net 中编写代码。现在我试图在单个语句中分配 RepeatButtons 的 Interval 值,但它设置为零。

rbtUp.Interval = rbtLeft.Interval = rbtCenter.Interval = rbtRight.Interval
= rbtDown.Interval = interval
Run Code Online (Sandbox Code Playgroud)

这在 c# 中工作正常,但在 vb.net 中无效。

Rol*_*nge 5

您将 VB.Net 与 C# 混淆了。

你不能在 VB.Net 中做你想做的事。您需要编写多个语句:

rbtUp.Interval = interval
rbtLeft.Interval = interval
rbtCenter.Interval = interval
rbtRight.Interval = interval
rbtDown.Interval = interval
Run Code Online (Sandbox Code Playgroud)

在您的情况下,只有第一个等号是赋值运算符,随后的等号是比较运算符。在等效的 C# 中,它会是这样的:

rbtUp.Interval = rbtLeft.Interval == rbtCenter.Interval == rbtRight.Interval == rbtDown.Interval == interval;
Run Code Online (Sandbox Code Playgroud)

这显然不是你想要做的。

看起来您也没有打开 Option Strict(因为比较运算符返回一个布尔值,而 Interval 可能是一个整数,当将一个布尔值分配给一个整数时,您的代码应该显示一个带有 Option Strict On 的编译器错误)。