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.
En esta tabla hay algunas equivalencias entre VB.Net y C# que nos hará mas fácil el cambio de lenguaje o traducir código de los ejemplos que encuentres en Internet y que no estén en el lenguaje que utilizas.
| 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 I1Inherits 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#. |
| AndOr | &&|| | 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; }; |
|
| ByValByRef | not requeridoref | 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 | constreadonly | 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. |
| EventRaiseEvent | event | Declara y lanza un evento. |
Articulo Obtenido: www.xperimentos.com















deseo que me sea enviado material con todo lo referente a algoritmo, codificacion, programacion y creacion de paginas web y como creo yo una pagina web. gracias…
Srs.
Agradeceré se sirva hacer llegar a mi correo la equivalencia de las funciones de fecha del VB 2005 .Net y el C#.
Por ejemplo para obtener el año actual en Visual Basic 2005 es:
AA = Microsoft.VisualBasic.Year(Now)
Como sería en C# ?.
Saludos Cordiales
H. Lino G.
la equivalencia de la instruccion “End” de vb.net para C# ¿?
implicitamente el end de Visual Studio en C# se denota con el cierre de las llaves {} osea:
public void Cerrar()
{
/*Tu codigo*/
}
alguien sabe para que sirve el => de C# es que por ahi lo vi pero no se como hacerlo en vb
la equivalencia de la instruccion “End” de vb.net para C# es:
Application.Exit();
Jose Villanueva