Я использовал C # раньше. Однако после того, как я присоединился к новой компании, мне нужно написать vb.net. Однако мне очень сложно это написать. Потому что я обнаружил, что vb.net не является строго типизированным. Это действительно не строгий? Или какие-то настройки для этого? Вот примеры.
If (Me.Check1() And Me.Check2()) Then
По моим знаниям C #, как только Me.Check1 ()
вернет false, Me.Check2 ()
не будет выполнено. Однако я был неправ. И
для побитовых операций. Я должен использовать AndAlso
для логических операций. Так и должно быть
If (Me.Check1() AndAlso Me.Check2()) Then
Проблема в том, что If (Me.Check1 () и Me.Check2 ()) То
по-прежнему действителен и ошибки компиляции нет. Я действительно хочу знать, могу ли я проверить такие «неуместные» операции.
И
, и И также
- это только один из случаев.
Иногда мне нужно игнорировать случаи сравнения строк. Однако все делают ошибки. Иногда я делал это
If (String.Compare(Me.string1, Me.string2, True)) Then
. Я думаю, что все знают проблему. Это должно быть
If (String.Compare(Me.string1, Me.string2, True) = 0) Then
Однако я все еще не могу проверить такой случай во время компиляции.
Я люблю C #, потому что это помогает нам находить много проблем во время компиляции. Тем не менее, VB.NET меня очень смущает, и многие ошибки должны быть определены во время выполнения и тестирования.
Еще один пример заключается в том, что
Public Sub MySub(ByVal obj as Object)
Console.WriteLine(obj.MyProperty)
End Sub
В vb.net этот вид утверждения все еще действителен. Почему? Почему? Почему? Кто-нибудь знает, как использовать VB. Точка зрения?