2010-01-13 11 views
5

Sto cercando di passare a C#. Vengo da uno sfondo C/C++ ma C# è un po 'diverso per me. Sto cambiando principalmente a causa di Silverlight e MVVM; tutti gli esempi sono in C#. Qualsiasi informazione è in C# e sono confuso quando ho letto tutto.Apprendimento C# come programmatore VB.NET

Qual è un buon punto di partenza per imparare C# quando si inizia con la conoscenza C/C++ esistente?

+0

Non voglio semplicemente diventare C# intelligente. Quando guardo attraverso esempi C# un sacco di codice base sembra nascosto. che va bene ma immagino che se inizio al quadrato 1 posso correre fino alla fine – Rico

+0

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

risposta

17

Iniziare a scrivere il codice in C# ASAP. L'unico modo per imparare la lingua è scriverlo. Comprendi già VB.NET. Hai un vantaggio enorme su chiunque sia nuovo su .NET.

Prendere una piccola applicazione che hai scritto in VB.NET e cambiarla metodicamente in C#.

Imparerai rapidamente la sintassi, ecc.

Scrivi tutti i tuoi progetti futuri in C#. Forza solo te stesso nel cambiamento e andrai bene.

+0

+1: l'unica risposta corretta è solo iniziare a farlo. –

+0

+1 Niente batte l'esperienza. Basta mantenere aperto un riferimento per il confronto delle parole chiave. vale a dire http://en.wikipedia.org/wiki/Comparison_of_C_Sharp_and_Visual_Basic_.NET – jasonmw

+0

D'accordo! Immergiti e inizia a programmare! – Joshua

1

Leggere il best C# books. :)

+1

giusto per farti sapere - il il link nella tua risposta non esiste più. Cheers –

0

Come sapete C++ (come avete scritto nella domanda) e VB.Net (come avete menzionato nel titolo), C# non sarà difficile per voi se li conoscete entrambi bene. In questo caso, prendi lo any source in C# e leggilo.

A proposito, the article from wikipedia è un'introduzione molto bella.

1

Poco dopo aver appreso VB.NET ho deciso che avrei preferito codificare C#. L'ho imparato leggendo un paio di libri e lavorando a un progetto. Lentamente, ho anche convertito i miei colleghi nella lingua da VB.NET. Le lingue sono molto simili, alcune conversioni di codice sono solo una questione di modifica della sintassi.

Tuttavia, se hai mai lavorato con un vero VB'er vedrai le funzioni specifiche di VB usate nel loro codice che ti faranno grattarti la testa. Ci sono funzioni di gestione delle stringhe e funzioni di fusione, ad esempio, che dovrai convertire. Inoltre, C# non ha RaiseEvent. Gli eventi richiedono un piccolo sforzo in più per comprendere in C# perché è necessario comprendere i delegati (puntatori/callback di funzioni C++). Come altri hanno già detto, se venite dal C++ questo non dovrebbe essere troppo difficile.

Molte persone vanno avanti sulla necessità di lavorare su un progetto per capire una lingua, che sono d'accordo. Tuttavia, ci sono caratteristiche di lingue che non saprai mai se non raccogli un paio di libri e non li leggi. Sono stato in grado di mostrare ai miei colleghi molte tecniche utili solo leggendo un paio di libri.

Infine, C# è un ottimo linguaggio. Ero molto scettico quando ho iniziato a usare .NET, ma ora so che MS ha unito il talento giusto per quel quadro e quel linguaggio.

Buona fortuna.

+0

Hey uomo buona risposta grazie per le informazioni Credo che un libro dovrà essere letto anche :). Soprattutto per implementare correttamente Silverlight e MVVM – Rico

0

Una cosa che può funzionare per voi è quello di utilizzare un convertitore

  1. Scrivere il codice desiderato in VB.
  2. Incolla piccoli pezzi di codice che non sai come scrivere in C# in http://converter.telerik.com/ e converti.
  3. Digitare manualmente il risultato nel progetto C#.

Gradualmente, ridurre la dipendenza dal convertitore man mano che si acquisisce familiarità con il linguaggio.

Questo è sufficiente per iniziare, tuttavia C# ha caratteristiche linguistiche che VB non ha, o VB offre in un modo così prolisso che nessuno lo usa veramente.

Più funzionalità si incontrano quando si guardano esempi di codice da tutto il web (come su overflow dello stack), e bisogna cercare sintassi o funzioni manualmente o convertire da C# a vb per capire cosa sta facendo (usa lo stesso convertitore). Oppure, incollalo e vedi cosa fa.