ho la mia struttura:biblioteca Classe consentire strutture non assegnati uso
public struct MyType
{
private string value;
// Methods
// ... (ToString overrided too)
}
Se metto la struttura in Program.cs o in un altro File.cs, e creo una variabile come MyType
(mia struttura) e cerco usarlo, il risultato è un errore evidente:
CS0165 Use of unassigned local variable
Esempio:
MyType a;
Console.WriteLine(a); // Error: Use of unassigned local variable 'a'
MyType b = new MyType();
Console.WriteLine(b); // Prints the default value (an empty string)
Il problema è quando ho messo la struttura in una libreria di classi (o in un altro progetto, o da un pacchetto NuGet) e lo uso da Program.cs:
MyType a;
Console.WriteLine(a); // No error: prints an empty string
Perché succede questo?
Qual è la produzione nel secondo scenario? –
Corretto la mia risposta (totalmente mancata la parte della Biblioteca di Classe ... scusa)! –
@DmitryK. Una stringa vuota. Aggiunto alla domanda. – Joe