Ritorno con i miei problemi con C#, dopo il problema delle direttive.
Leggendo un libro su C#, mi sono soffermato sulle differenze tra C++ e C# nel definire i costruttori.
Se in C++, scrivo:
class NomeClasse
{
public:
// Costruttori con overloading
NomeClasse();
NomeClasse(char c);
NomeClasse(char c, int i);
NomeClasse(const char *c);
...
};
In C#:
1. Devo specificare, per ogni costruttore, il campo di visibilità? Oppure c'è un'alternativa più comoda, come in C++?
2. Ho notato che esistono i tipi "String" e "string", "Char" e "char". Quelli scritti con la lettera maiuscola
dovrebbero essere appartenenti ad una classe, infatti VS me li evidenzia in verde, come fa per le classi... ma qual'è la differenza sostanziale?
3. Vale l'overloading?
E' giusto scrivere nel seguente modo?
class NomeClasse
{
// Costruttori con overloading
public NomeClasse();
public NomeClasse(char c);
public NomeClasse(char c, int i);
public NomeClasse(const string);
...
};
Grazie mille.