Я пытаюсь перевести определенный код на C#.Что означает этот ситакс в VB «If (a & b)»
В основном я понимаю большую часть кода, с которым я имею дело, и даже цель исходного кода. , но я хочу быть уверенным, что все мои базы покрыты.
его 5-й пост в этой теме: http://www.pcreview.co.uk/threads/how-to-use-getwindowlong-properly-in-vb-net.1312789/ пользователем Krešimir
код на вопрос:
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
Я не понимаю, что такое «Если (в отставке И WS_BORDER)» оператор должен делать, и как перевести его на C#
это:
if (ret!=null & WS_BORDER!=null)
или что-то еще?
Спасибо.
Редактировать: примечание. Если я использую вышеупомянутый оператор C#, VS дает мне уведомление, что «результат выражения всегда false, поскольку значение типа« int »никогда не равно« null »типа« int? » ^ Я предполагаю, что я может пренебрегать им (придумывая его, как мы говорим), но если sm1 хочет дать мне «бесплатное объяснение», я был бы признателен за это: *
ps. Я действительно новичок в этом, жаль, если я проглядел что-то очевидное
Это побито и –
оператор & не может быть применен к операндам типа «int» и «bool» Пробовал его с помощью «ret & WS_BORDER! = Null». –
Извинения, там важны круглые скобки. Пропустил это. См. Ответ Гусмана. –