什么是VB中的这个sytax的含义"If(a&b)"

Luc*_*vic 2 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
Run Code Online (Sandbox Code Playgroud)

我不明白"If(ret和WS_BORDER)"语句应该做什么,以及如何将它翻译成C#

是吗:

    if (ret!=null & WS_BORDER!=null)
Run Code Online (Sandbox Code Playgroud)

或者是其他东西?

谢谢.

编辑:注意.如果我使用上面提到的C#语句,VS会给我一个通知,"表达式的结果总是假的,因为类型"int"的值永远不会等于"int"类型的"null".我想我可以忽略它(在我们说话时谷歌搜索),但如果sm1希望给我一个"免费解释",我会很感激:*

PS.我真是个新手,所以如果我忽视了一些明显的东西,我很抱歉.

Gus*_*man 6

之前的答案都不对:

if((ret & WS_BORDER) != 0)
Run Code Online (Sandbox Code Playgroud)

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