Riferimento: [C#] Calcolatrice in Console [ogni riga di codice commentata + source incluso
Nel tuo programma hai creato una funzione, perchè ? Va bene che le funzioni sono poco più "veloci" del normale codice scritto nel main ma non ne vedo l'utilità. Le istruzioni che hai scritto nella funzione
calcola potevi benissimo scriverle nel main. Altra cosa : hai dichiarato una variabile
risultato e successivamente, per ogni singolo calcolo, ne hai assegnato la corrispettiva operazione. Perchè ? Quando tu metti
Console.WriteLine() all'interno delle parentesi puoi mettere benissimo
primo + secondo, primo - secondo etc...; fare così non è sbagliato ma viene creata una variabile inutilmente. Poi mi sono accorto che hai utilizzato
Contains che è un
boolean, perchè ? Non sarebbe stato meglio fare
if ( segno == "+" ) o if ( ripeti == "y" ) ? Oppure con
switch, sarebbe stato più leggibile. Infine : quando alla fine del programma scrivi sulla console di premere un tasto per chiudere il programma in realtà si chiude prima ancora che l'utente prema il tasto, questo perchè manca
Console.ReadKey();
Mi attengo da quanto c'è scritto su forum, blog, esperienze di programmatori etc.
Quali forum/blog ? Potresti citarne qualcuno per favore ?
Ad esempio, vengono "dimezzate" le righe di codice, con istruzioni molto più semplice ed appropriate;
Ad esempio ?
c'è maggiore riconoscimento di errori (overloading e altri) del form, rispetto al vb.net;
O.o
consente l'uso di altre istruzioni (non ricordo quali), "derivando" (non direttamente, ovviamente) da c++;
Forse ti riferisci alle librerie esterne scritte in linguaggio C++.NET, se è per questo anche il VB.NET può utilizzare librerie scritte in C++.NET
il case sensitive, rendendo tutto molto più pulito e comprensibile;
Questione di gusti, non è una differenza sostanziale tale da poter affermare che il C# è più avanzato del VB.NET. L'unica differenza, in questo ambito, è che nel Visual Basic.NET si è soliti scrivere tutto in maiuscolo mentre nel C# in minuscolo.
cosa che mi ha colpito di più è la velocità con cui vengono eseguite le operazioni.
Si è discusso di questo anche qui sul Forum e si è arrivati alla conclusione che l'esecuzione del codice scritto in C#, a livello di tempo, è uguale a quella del VB.NET.
Ho scritto queste cose basandomi sulla mia esperienza usando il .net framework 4, poi probabilmente tu ti riferisci al 3.5.
Il Framework 4.0 ha semplicemente delle classi in più rispetto al 3.5 ( e qualcos'altro che non conosco ).
Ovviamente, sei più esperto di me, se mi sbaglio, gradirei correzioni e suggerimenti, sono alle prime armi con c#, passando direttamente dal vb.net.
D'altronde, sono qui per imparare.
Buona serata.[/QUOTE]