Mam jedną obserwację dotyczącą struct. Kiedy zadeklarować obiektu Struct i jeśli nie zainicjować struct to daje mi poniższy błąd - „Korzystając z nieprzydzielonej zmiennej lokalnej empStruct”Kompilator podaje błąd, gdy struct nie jest zainicjalizowany i jeśli spróbujemy uzyskać dostęp do właściwości, ale nie ze zmienną
PSeduo Code
struct EmpStruct
{
private int firstNumber;
public int FirstNumber
{
get { return firstNumber; }
set { firstNumber = value; }
}
public int SecondNumber;
}
Program.cs-
EmpStruct empStruct;
empStruct.FirstNumber = 5;
Ale kiedy deklaruję publiczną zmienną, powyższy kod działa.
EmpStruct empStruct;
empStruct.SecondNumber;
Moje pytanie brzmi: dlaczego kompilator nie podaje błędu, gdy próbuję uzyskać dostęp do zmiennej (w przypadku klasy spowoduje to błąd).
Ktokolwiek zaniedbuje wszystkie odpowiedzi, pozostawia komentarze, dlaczego są nieprawidłowe. Przebudowuję je, ponieważ mają sens w oparciu o post Punita ... –
@bemused: Wszystkie są złe. I zostawiłem komentarze wyjaśniające dlaczego. – jason