Cargando...
Aunque es relativamente sencillo con la tecnología .Net cambiar de un lenguaje de programación a otro, ya que la filosofía de trabajo es la misma, los objetos, los espacios de nombres…, pero al cambiar entre VB.Net y C# pueden resultar frustrantes determinadas características de cada uno de los lenguajes. Un ejemplo, son las palabras claves para los tipos de clases en VB.Net.
Os incluimos una tabla de equivalencias entre VB.Net y C# que os hará mas fácil el cambio de lenguaje o traducir código de los ejemplos que encontréis en Internet y que no estén en el lenguaje que utilizáis.
| VB.NET | C# | Descripción |
| NotInheritable | sealed | Especifica que una clase no puede ser usada como base para otra clase, es decir, no puede ser heredada. |
| NotOverridable | sealed | Especifica que un método no puede ser sobrescrito. |
| MustInherit | abstract | Especifica que una clase sólo puede ser heredada (no puede ser creada una instancia de la clase). |
| MustOverride | abstract | Especifica que un método debe ser implementado en las clases hijas. |
| Overridable | virtual | Especifica que una propiedad de la clase puede ser sobrescrita. |
| Shared | static | Especifica que una propiedad de la clase es compartida por todas las instancias de la clase (es estático). No es necesaria ninguna instancia de la clase para llamar a esta propiedad). |
| Static | no equivalent | Especifica que el valor de una variable local es preservado entre diferentes llamadas. |
| Public | public | Clase o propiedad es visible fuera del proyecto o assembly. |
| Friend | internal | Clase o propiedad es invisible fuera del proyecto o assembly. |
| Private | private | Clase o propiedad es visible sólo en el proyecto. |
| Overloads | not required | Especifica que una propiedad sobrecargada por otra propiedad. |
| Overrides | override | Especifica que una propiedad sobrescrita por otra propiedad. |
| Implements I1 | class C1:I1 | Especifica que la clase (C1) implementa el interfaz I1. |
| Inherits C2 | class C1:C2 | Especifica que la clase (C1) hereda la clase C2. |
| Implements I1
Inherits C2 |
class C1:C2,I1 | Especifica que la clase (C1) implementa el interfaz I1 y hereda la clase C2. |
| Shadows | new | |
| Finalize | ~C1 (destructor) | Método llamado por el sistema justo antes de que el garbage collection reclame el objeto. C1 es el nombre de la clase. |
| New | C1 | Método constructor, llamado cuando el objeto es creado. C1 es el nombre de la clase. |
| Dim x as Int32 | Int32 x | Declara la variable “x” del typo “System.Int32″. |
| Imports | using | Permite llamar a métodos sin necesidad de especificar el nombre del Namespace completo. |
| <> | [] | Especifica parámetros. |
| _ | ; | Continuación de línea en VB, fin de línea en C#. |
| And
Or |
&&
|| |
Operadores lógicos. |
| no soportado | << >> | Operadores Shift. |
| X+=1 (x=x+1)
X-=1 (x=x-1) also *=, /=, ^= etc.. |
x++
x– |
Incrementos. |
| Dim x(4) as Int32
= 5 items (0 to 4) |
Int32[] x = new Int32[4];
= 4 items (0 to 3) |
Diferencias entre los elementos creados en las declaraciones de arrays. |
| Dim x as Int32 | Int32 x = 0 | x es inicializado a 0 automáticamente en VB. |
| ReDim Preserve | no equivalent | Redimensiona un array. |
| Optional | no soportado | Especifica que un parámetro es opcional. |
| Select Case x Case True Case Else End Select |
switch(I) { case 1:break; default:break; }; |
|
| ByVal
ByRef |
not requerido
ref |
Pasando parámetros por valor y referencia. |
| Me | this | Referencia al objeto actual. |
| MyBase | base | Referencia a la clase base. |
| MyClass | no soportado | Realiza una llamada non-virtual a un método virtual del objeto actual. |
| Const | const
readonly |
Declara una constante. |
| Enum | enum | Declara un enumerator. |
| Structure | struct | Declara una estructura. |
| no soportado | volatile | Declara un objeto que puede ser modificado de forma asíncrona. |
| obj = Nothing | obj == null | Comprueba que una variable objeto no es nula. |
| Option Explicit | Opción por defecto y no puede ser cambiada | Especifica que todas las variables tienen que ser declaradas. |
| IsDBNull | no soportado | Comprobación para un nulo de base de datos. |
| Default | no soportado | Especifica un método por defecto de un clase. |
| WithEvents | no soportado | Declara una variable cuyos eventos queremos manejar. |
| Handles | no soportado | Especifica que un método es llamado por un evento. |
| Try Catch Finally End Try |
try{} catch{} finally{} |
Manejo estructurado de las excepciones. |
| REM
‘ |
/* … */
// |
Líneas de comentarios |
| not soportado | /// | líneas de comentarios XML |
| Dim x As String = “Hola” Dim y As Char = GetChar(x, 1) |
string x = “Hola”; char y; y = x[1]; |
Recupera un carácter de una cadena de texto. |
| With … End With | no soportado | Evalúa un objeto una vez y permite usarlo varias veces. |
| Dim a() as Long = {1,2,3} | int[] x = new int[4] {1,2,3,4}; | Inicialización de un array. |
| Event
RaiseEvent |
event | Declara y lanza un evento. |
Imprime este post
2 comentarios sobre Tabla de equivalencias entre VB.Net y CSharp (C#)
[...] Nos hemos mudado a http://www.xperimentos.com, puedes continuar leyendo este post en este enlace. [...]
y por ejemplo con MY ?…. ese que…
como puedo usar:
My.Computer.Clipboard.GetImage() de vb en c# ?…
Deja tu comentario sobre Tabla de equivalencias entre VB.Net y CSharp (C#)
*Nota: Sólo se tendrán en cuenta los comentarios correctamente redactados y que estén relacionados con el tema de la entrada.RSS a los comentarios de esta entrada · TrackBack URI