He usado C# antes. Sin embargo, después de unirme a una nueva compañía, necesito escribir vb.net. Sin embargo, me resulta muy difícil escribirlo. Porque descubrí que vb.net no tiene un estilo fuerte. ¿Realmente no es de tipo fuerte? O cualquier configuración para eso? Aquí hay ejemplos.VB.NET de tipo débil? ¿de tipo fuerte?
If (Me.Check1() And Me.Check2()) Then
Desde mi conocimiento de C#, una vez Me.Check1()
vuelve falsa, Me.Check2()
no se ejecutará. Sin embargo, estaba equivocado. And
es para operaciones bit a bit. Debería usar AndAlso
para operaciones booleanas. Lo que debe ser
If (Me.Check1() AndAlso Me.Check2()) Then
El problema es que If (Me.Check1() And Me.Check2()) Then
sigue siendo válido y no hay error de compilación. Realmente quiero saber si puedo verificar esas operaciones "inapropiadas".
And
y AndAlso
es solo uno de los casos.
A veces, tengo que hacer caso omiso de las comparaciones de cadenas de casos. Sin embargo, todos cometemos errores. A veces, lo hice
If (String.Compare(Me.string1, Me.string2, True)) Then
Creo que todo el mundo conoce el problema. Debe ser
If (String.Compare(Me.string1, Me.string2, True) = 0) Then
Sin embargo, todavía no puedo verificar dicho caso durante la compilación.
Me encanta C# porque nos ayuda a encontrar muchos problemas durante la compilación. Sin embargo, VB.NET me confunde mucho y se deben determinar muchos errores durante el tiempo de ejecución y las pruebas.
Un ejemplo más es que
Public Sub MySub(ByVal obj as Object)
Console.WriteLine(obj.MyProperty)
End Sub
En vb.net, este tipo de declaraciones sigue siendo válida. ¿Por qué? ¿Por qué? ¿Por qué? ¿Alguien sabe cómo usar vb.net como C#?
Option Strict On –
Ninguno de los ejemplos ilustran la tipificación realmente débil. Tal vez digitación dinámica. – recursive
Sé que esto es antiguo, pero creo que este comentario es relevante. El OP está bajo un concepto erróneo acerca de los operadores booleanos y bit a bit. VB funciona exactamente de la misma manera que C# en ese sentido. En C# tiene el operador '&&' para cortocircuitar operaciones booleanas y usted tiene el operador '&' para operaciones booleanas sin cortocircuito y operaciones bit a bit. Son 100% análogos a 'AndAlso' y' And' en VB. Lo mismo ocurre con '||' y '|' en C# y 'OrElse' y' Or' en VB. – jmcilhinney