Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - VB.NET o C# differenze?
Forum - C# / VB.NET - VB.NET o C# differenze?

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
secretfabios (Normal User)
Rookie


Messaggi: 59
Iscritto: 17/08/2009

Segnala al moderatore
Postato alle 15:19
Sabato, 26/12/2009
Ho imparato abbastanza bene il VB.NET e ora ke mi ritrovo il C# che mi sembra molto facile.
Ora mi chiedo...ke differenza c'è con VB.net...ha funzioni in piu?

PM Quote
Avatar
manvb.net (Member)
Guru


Messaggi: 663
Iscritto: 28/01/2008

Segnala al moderatore
Postato alle 16:44
Sabato, 26/12/2009
Sostanzialmente no! L'unica funzionalità che ha in più è la possibilità di scrivere codice unsafe, che viene eseguito via JIT. Questo rende possibile l'uso dei puntatori.

PM Quote
Avatar
ilmettiu (Ex-Member)
Pro


Messaggi: 88
Iscritto: 17/09/2009

Segnala al moderatore
Postato alle 23:40
Sabato, 26/12/2009
. . . Giusto per curiosità, puoi spiegare un pochino l'ultima frase? :-)

PM Quote
Avatar
manvb.net (Member)
Guru


Messaggi: 663
Iscritto: 28/01/2008

Segnala al moderatore
Postato alle 1:07
Domenica, 27/12/2009
Pratiacamente, grazie alla compilazione JIT, che trasforma il codice managed in codice nativo a runtime, diventa possibile usare i puntatori(come in c++).

Per chi non sapesse cos'è un puntatore: http://it.wikipedia.org/wiki/Puntatore_%28programmazione%29

PM Quote
Avatar
secretfabios (Normal User)
Rookie


Messaggi: 59
Iscritto: 17/08/2009

Segnala al moderatore
Postato alle 10:58
Domenica, 27/12/2009
Adesso però mi sorge un dubbio...
In VB.NET per prendere un numero da una textbox bastava fare cosi...
Codice sorgente - presumibilmente VB.NET

  1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  2.         Dim n As Integer
  3.         n = TextBox1.Text
  4.         MsgBox(n)
  5.     End Sub



Mentre se faccio la stessa cosa in C# non va...
Codice sorgente - presumibilmente C# / VB.NET

  1. private void button1_Click(object sender, EventArgs e)
  2.         {
  3.             Int16 ciao;
  4.             string cia;
  5.             cia = textBox1.Text;
  6.             ciao = Int16.Parse(cia);
  7.             MessageBox.Show(ciao);
  8.         }



PM Quote
Avatar
manvb.net (Member)
Guru


Messaggi: 663
Iscritto: 28/01/2008

Segnala al moderatore
Postato alle 12:50
Domenica, 27/12/2009
Questo succede per due motivi:

1) Hai Option Strict Off, cosa sconsigliatissima perche tenerlo ad off rallenta di molot il programma. Option Strict Off ti permette di evitare di dove fare i cast di tipi(.Parse, ctype, ecc...).

2) Stai usando funzioni della Microsoft.VisualBasic (vedi MsgBox), anche queste sconsigliate perchè sono obsolete. C# non importa nnativamente la Microsoft.VisualBasic.


C'è un altra differenza che potresti notare: l'assenza del namespace My in C#.

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 10:41
Lunedì, 28/12/2009
Inoltre VB possiede CType, che è un operatore di casting più intelligente di Parse e ToX.
In C# non esistono le variabili locali statiche (lo scopo per cui veniva usato "static" in C, che adesso è stato modificato per adattarsi agli oggetti).
String non espone la proprietà Chars.
Come già detto, non esiste My.

PM Quote
Avatar
secretfabios (Normal User)
Rookie


Messaggi: 59
Iscritto: 17/08/2009

Segnala al moderatore
Postato alle 11:57
Lunedì, 28/12/2009
Grazie molto utili:k:

PM Quote
Avatar
manvb.net (Member)
Guru


Messaggi: 663
Iscritto: 28/01/2008

Segnala al moderatore
Postato alle 13:07
Lunedì, 28/12/2009
Testo quotato

Postato originariamente da Il Totem:

Inoltre VB possiede CType, che è un operatore di casting più intelligente di Parse e ToX.
In C# non esistono le variabili locali statiche (lo scopo per cui veniva usato "static" in C, che adesso è stato modificato per adattarsi agli oggetti).
String non espone la proprietà Chars.
Come già detto, non esiste My.



Beh, CType non è l'equivalente di (tipo) in C#?

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo