a=b=5在VB.NET中-不可能?

a=b=5在VB.NET中-不可能?,.net,vb.net,operators,.net,Vb.net,Operators,在VB.NET中是否可以执行a=b=5?(我知道=也是一个比较运算符) 我的意思是做而不是结果(例如,如果b=2) 然而,在像贝娄这样的情况下,如何做到这一点 不便在我的代码中引起了这个问题:一些对象a,b。。z在一个方法中通过ref传递,如果我不初始化它们,编译器会警告我应该初始化它(=Nothing by.g.) 因为VB/VB.NET中的=也是一个比较运算符,所以在该上下文中,它返回一个布尔值。这只是基本语言的规则。许多语言使用不同的运算符来区分assingment和equality测试

在VB.NET中是否可以执行
a=b=5
?(我知道
=
也是一个比较运算符)

我的意思是做而不是结果(例如,如果b=2)

然而,在像贝娄这样的情况下,如何做到这一点


不便在我的代码中引起了这个问题:一些对象
a,b。。z
在一个方法中通过ref传递,如果我不初始化它们,编译器会警告我应该初始化它(=Nothing by.g.)


因为VB/VB.NET中的
=
也是一个比较运算符,所以在该上下文中,它返回一个布尔值。

这只是基本语言的规则。许多语言使用不同的运算符来区分assingment和equality测试

比如说,

  • C/C++/C#/Java使用
    =
    =
  • Pascal使用
    :=
    =
  • Basic没有
    • a=b=5
      意味着

      如果要同时将值5指定给a和b,则必须将其添加到单独的行中:

      b = 5
      a = b
      
      您也可以使用vb.net行分隔符将它们写在同一行上:

      b = 5 : a = b
      

      我想你只需要做很长的一段路,然后分别分配它们。所以,我想,“不可能”的答案是“是的,不可能”?所以,我想,“不可能”的答案是“是的,不可能”?在这种情况下,编译器有点愚蠢,因为你不需要初始化a、b、c、d和z变量;它们已经没有任何价值了。@Meta Knight:是的。。。显然在VB.NET中没有像out这样的选项
      if b = 5 then a = true else a = false
      
      b = 5
      a = b
      
      b = 5 : a = b