【问题标题】:Equivalent operators and expression for &=, ~, |= in VB.NETVB.NET 中 &=、~、|= 的等价运算符和表达式
【发布时间】:2023-03-10 03:59:01
【问题描述】:

我需要在 VB.NET 中转换以下代码行,但对运算符感到困惑,谁能描述这些运算符的名称及其在 VB 中的等价物:

long style= GetWindowLong(hWnd, GWL_STYLE);
style &= ~(WS_VISIBLE);    // this works - window become invisible 

style |= WS_EX_TOOLWINDOW;   // flags don't work - windows remains in taskbar
style &= ~(WS_EX_APPWINDOW); 

【问题讨论】:

  • a op= b 模式的大多数运算符只是a = a op b 的简写
  • someniceconverters可以自动完成。
  • 谁能在VB中转换最后3行。我检查了转换器,但它使用逻辑运算符进行了转换。
  • 将您的示例粘贴到链接中的转换器中,我使用OrAndNot 得到结果,它们是按位运算符(或在布尔值的上下文中是逻辑运算符)而不是OrElseAndAlso 的捷径只有逻辑。

标签: c# vb.net operators


【解决方案1】:

由于 VB 对位运算符使用关键字,它不提供速记自赋值运算符。你必须使用: X = X 和 Y 和 X = X 或 Y

此外,“~”的等价物是“Not”(与逻辑“Not”相同的关键字,但行为不同)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-16
    • 1970-01-01
    • 2021-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多