ArrayList 과 List<T> 차이
(http://www.hoons.net/Board/qacshap/Content/58016)
ArrayList는 원소 타입이 object형. 타입을 지정하지 않기때문에 한개의 컬렉션에 다양한 타입의 개체를 담는 것이 가능.
하지만 한 개의 컬렉션은 한가지 타입만을 담는 경우가 많음
레퍼런스타입이 아닌 값타입을 넣으면 컬렉션 값을 가져올때마다 타입캐스팅이 일어나므로 List<T>가 많이 쓰인다.
ConsoleKey Enum
(https://docs.microsoft.com/ko-kr/dotnet/api/system.consolekey?view=netframework-4.7.2)
콘솔의 표준키 지정
For와 Foreach 쓰임 차이
별 차이 없으나, 다차원 배열의 원소를 확인할 때, for는 중첩문을 사용하여 출력해야하지만 foreach는 그럴 필요 X
for (int i = 0; i < 4; i++)
{
for (int j = 0; j < 2; j++)
{
Console.Write(twoDim[i, j]);
}
}
Console.WriteLine();
foreach (int i in twoDim)
{
Console.Write(i);
}
nameof
변수, 형식 또는 멤버의 단순(정규화되지 않은) 문자열 이름을 가져오는 데 사용됩니다.
readonly
var userInput = Console.ReadKey();
if (userInput.Key != ConsoleKey.N && userInput.Key != ConsoleKey.Y)
ref readonly에서 readonly(읽기전용) 한정자는 해당 메서드가 참조를 반환하고 해당 참조에 쓰기를 허용하지 않음을 나타냄
ConsoleKeyInfo의 Key 메서드는 읽기전용이므로 값을 할당할 수 없다.
(읽기전용이므로 비교는 가능하지만 값을 변경할 수 없다.)