2010-01-13 22 views
5

Estoy buscando cambiar a C#. Vengo de un fondo C/C++ pero C# es un poco diferente para mí. Estoy cambiando principalmente por Silverlight y MVVM; todos los ejemplos están en C#. Cualquier información está en C# y estoy confundido cuando lo leo todo.Aprendiendo C# como programador de VB.NET

¿Cuál es un buen lugar para comenzar a aprender C# al comenzar con el conocimiento de C/C++ existente?

+0

No, simplemente quiero ser C# inteligente. Cuando miro los ejemplos de C#, gran parte del código base parece oculto. lo cual está bien, pero supongo que si empiezo en la casilla 1 puedo correr hasta el final – Rico

+0

Duplicar: http://stackoverflow.com/questions/287927/best-way-to-learn-c – gnovice

Respuesta

17

Comience a escribir el código en C# CUANTO ANTES. La única forma de aprender el idioma es escribirlo. Ya entiendes VB.NET. Tienes una ventaja enorme sobre cualquier persona nueva en .NET.

Tome una aplicación pequeña que haya escrito en VB.NET y metódicamente cámbiela a C#.

Aprenderá la sintaxis, etc. rápidamente.

Escriba todos sus proyectos futuros en C#. Solo oblígate al cambio y lo harás bien.

+0

+1 - la única respuesta correcta es simplemente comenzar a hacerlo. –

+0

+1 No hay nada como experiencia. Simplemente mantenga abierta una referencia de comparación de palabras clave. es decir, http://en.wikipedia.org/wiki/Comparison_of_C_Sharp_and_Visual_Basic_.NET – jasonmw

+0

¡De acuerdo! ¡Sumérgete y comienza a programar! – Joshua

1

Lea el best C# books. :)

+1

Solo para que lo sepa - el el enlace en su respuesta ya no existe. Cheers –

0

Como sabes C++ (como escribiste en la pregunta) y VB.Net (como mencionaste en el título), C# no será difícil para ti si los conoces bien. Si este es el caso, simplemente tome any source in C#, y léalo.

Por cierto, the article from wikipedia es una muy buena introducción.

1

Poco después de aprender VB.NET decidí que prefiero codificar C#. Lo aprendí leyendo un par de libros y trabajando en un proyecto. Poco a poco, hice que mis compañeros de trabajo también se convirtieran al lenguaje de VB.NET. Los idiomas son muy similares, la conversión de algunos códigos es solo una cuestión de cambiar la sintaxis.

Sin embargo, si alguna vez ha trabajado con un verdadero VB'er verá funciones específicas de VB usadas en su código que le harán rascarse la cabeza. Hay funciones de manejo de cadenas y funciones de conversión, por ejemplo, que deberá convertir. Además, C# no tiene RaiseEvent. Los eventos requieren un poco más de esfuerzo para comprender en C# porque es necesario que tenga en cuenta a los delegados (punteros/devoluciones de funciones de C++). Como han dicho otros, si vienes de C++ esto no debería ser demasiado difícil.

Muchas personas dicen que necesitan trabajar en un proyecto para entender un idioma, y ​​estoy de acuerdo. Sin embargo, hay características de los idiomas que nunca sabrá si no recoge un par de libros y lee sobre ellos. He podido mostrarle a mis compañeros de trabajo muchas técnicas útiles simplemente leyendo un par de libros.

Por último, C# es un gran lenguaje. Estaba muy escéptico cuando comencé a usar .NET, pero ahora sé que MS obtuvo el talento adecuado para ese marco e idioma.

Buena suerte.

+0

Hey hombre buena respuesta gracias por la información Creo que un libro también debe leerse :). Especialmente para implementar Silverlight y MVVM apropiadamente – Rico

0

Una cosa que puede funcionar para usted es utilizar un convertidor

  1. escribir el código deseado en VB.
  2. Pega pequeñas piezas de código que no sabes cómo escribir en C# en http://converter.telerik.com/ y convertir.
  3. Escriba manualmente el resultado en su proyecto de C#.

Poco a poco, reduzca su dependencia del convertidor a medida que se familiarice con el idioma.

Eso es suficiente para comenzar, sin embargo, C# tiene características de lenguaje que VB no ofrece, o VB ofrece de una manera tan prolija que nadie realmente lo usa.

Cuantas más funciones encontrará en los ejemplos de código de la web (como en el desbordamiento de la pila), y necesita buscar la sintaxis o función manualmente, o convertir de C# a vb para comprender qué está haciendo (use el mismo convertidor). O bien, simplemente péguelo y vea lo que hace.