c# - VB "If(a & b)"中这个语法的含义是什么

标签 c# vb.net if-statement translate

我正在尝试将特定代码转换为 C#。

基本上我理解了我正在处理的大部分代码,甚至原始代码的意图。 但我想确保我已经涵盖了所有基础。

这是本主题的第 5 篇文章:http://www.pcreview.co.uk/threads/how-to-use-getwindowlong-properly-in-vb-net.1312789/ 由用户 Kresimir

有问题的代码:

Dim ret As Integer = User32DLL.GetWindowLong(Me.Handle, -16)
Dim s As String = String.Empty
If (ret And WS_BORDER) Then s &= "WS_BORDER" & NewLine

我不明白“If (ret And WS_BORDER)”语句应该做什么,以及如何将其转换为 C#

是吗:

    if (ret!=null & WS_BORDER!=null)

还是别的什么?

谢谢。

编辑:注释。如果我使用上面提到的 C# 语句,VS 会提示我“表达式的结果始终为 false,因为“int”类型的值永远不等于“int”类型的“null”?” ^我想我可以忽略它(在我们说话时用谷歌搜索它),但如果 sm1 希望给我一个“免费解释”,我将不胜感激:*

ps。我对此确实是个新手,所以如果我忽略了一些明显的事情,我很抱歉。

最佳答案

之前的答案都不正确:

if((ret & WS_BORDER) != 0)

这是检查变量是否包含标志,在本例中为 WS_BORDER。

关于c# - VB "If(a & b)"中这个语法的含义是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34726685/

相关文章:

asp.net - 当在代码中设置 PageSize 时,DataPager 停止工作

c# - 以编程方式创建 CSS 类 ASP.Net

r - 如果条件包含 lubridate 包中的 `years` 函数,ifelse 命令总是返回 0

c# - 将按钮的名称传递给文本 block

c# - 具有分层数据模板和多种类型的 WPF TreeView

c# - 带文字的半透明圆形控件

c# - C#线程和类问题

asp.net - 缺少 StackTrace 信息

java - 字符串等于给出奇数结果

python - 为什么Python中的 "if(x)"与 "if(x==True)"不同?