CS0246 ‘system’ 형식 또는 네임스페이스 이름을 찾을 수 없습니다. using 지시문 또는 어셈블리 참조가 있는지 확인하세요. : system의 첫 글자를 소문자로 써서 발생했습니다.
CS0103 ‘console’ 이름이 현재 컨텍스트에 없습니다. : Console의 첫 글자를 소문자로 써서 발생했습니다.
CS5001 프로그램에는 진입점에 적합한 정적 ‘Main’ 메서드가 포함되어 있지 않습니다. : Main의 첫 글자를 소문자로 써서 발생했습니다.
CS0117 ‘Console’에는 ‘writeline’에 대한 정의가 포함되어 있지 않습니다. : WriteLine의 첫글자를 소문자로 써서 발생했습니다.
System.IndexOutOfRangeException : 인덱스가 배열 범위를 벗어났습니다. + string.get_Chars(int) → 배열의 범위 이상을 검색했거나 없는 배열이라서
System.NullReferenceException : 개체 참조가 개체의 인스턴스로 설정되지 않았습니다.
→ 어디에 저장할지 결정을 시켜줘야 하는데, new 포인터가 방황하고 있을경우임,,
numbers[0] → 이방이 어디에 있는데??? 이런느낌. 그 안에 값이 null이다.
System.NullReferenceException: 개체 참조가 개체의 인스턴스로 설정되지 않았습니다.
→ Square square;로 변수 설정 해놓고 new로 생성 안 해서 참조를 하지 않아서..
new로 키워드 생성하면 어딘가 참고해라~ 이게 정상인데,
square는 아무것도 참조 하지 않는다..
List<string> list;
stack에는 heap주소가 저장되고,
heap에는 실제 데이터가 저장된다.
ex) stack(int, float, bool, char)
heap(class 인스턴스, string, 배열, new)
이때, stack은 heap에 가르키고 있는 영역이 없으면?
메모리에 값이 없으므로 nullReference 이다.
예로들어) Square square; 이렇게 구조체 변수를 생성해주면
실제 값은 null로 들어가있음.
null이면 무슨 데이터의 무슨 null값인지 모르니까
stack 포인터가 어디에 가르킬지 몰라 에러가 난다.
그래서!
저 에러가 뜰 경우에는.
1. new로 할당하지 않은 참조형 변수사용.
2. 추가하지 않은 키나 데이터 사용할 때!