我正在尝试将某个代码翻译为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和WS_BORDER)"语句应该做什么,以及如何将它翻译成C#
是吗:
if (ret!=null & WS_BORDER!=null)
或者是其他东西?
谢谢.
编辑:注意.如果我使用上面提到的C#语句,VS会给我一个通知,"表达式的结果总是假的,因为类型"int"的值永远不会等于"int"类型的"null".我想我可以忽略它(在我们说话时谷歌搜索),但如果sm1希望给我一个"免费解释",我会很感激:*
PS.我真是个新手,所以如果我忽视了一些明显的东西,我很抱歉.
之前的答案都不对:
if((ret & WS_BORDER) != 0)
这是检查变量是否包含标志的检查,在本例中为WS_BORDER.