4) string.Format()을 보간 문자열로 대체하라 C#에서도 C에서 널리 사용되는 string.Format과 같은 방법으로 string을 만들 수 있지만 C# 6.0에 새롭게 도입된 문자열 보간 기능을 사용하는 편이 여러모로 좋다. 문자열 보간 기능의 장점 1. 코드 가독성이 매우 좋아진다. 2. 컴파일러 입장에서는 정적 타입 검사를 수행할 수 있기 때문에 개발자의 실수를 미리 방지할 수 있다. 3. 기존 방식에 비해 string을 생성하기 위한 표현식이 다양하다. 기존에 사용되는 string.Format() 형식은 포맷 문자열과 출력할 내용을 담고 있는 배열이 나뉘어 전달되면서 string이 생성된다. 포맷 문자열에 나타난 인수의 개수와 실제 전달된 인수의 개수가 일치하지 않는 ..
3) 캐스트보다는 is, as가 더 좋다 C#은 정적 타이핑을 수행하는 언어다. 따라서 타입이 일치하지 않더라도 컴파일러가 컴파일타임 에러를 잡아주기 때문에 타입 검사를 자주해줄 필요는 없다. 하지만 코딩을 하다보면 형변환을 수행해야할 경우가 생긴다. (정적 타이핑에 대한 간단한 소개는 다음 링크를 참조해주었으면 한다 - https://devmas.tistory.com/entry/%EB%8F%99%EC%A0%81%ED%83%80%EC%9D%B4%ED%95%91 - https://itmining.tistory.com/65) 형변환을 하는 방법은 캐스트 연산자 구문을 사용하는 방법, as 연산자를 사용하는 방법이 있으며 더 방어적으로 형변환을 하고 싶다면 is 연산자를 사용하여 형변환이 가능한지를..
2) const보다는 readonly가 좋다 C#에는 컴파일타임 상수와 런타임 상수가 있다. 결론부터 말하자면 컴파일타임 상수보다는 런타임 상수를 사용하는 편이 좋다. 컴파일타임 상수가 약간 더 빠르긴 해도 성능면에서 차이가 크지 않고 런타임 상수를 사용하여 얻을 수 있는 유연성이라는 장점은 큰 이득이다. 그래서 컴파일타임 상수는 성능이 중요하고 상수의 값이 절대로 어떤 경우에도 바뀌지 않을 때 사용해야 한다. 런타임 상수는 readonly 키워드를 사용하고, 컴파일타임 상수는 const를 사용한다. // 컴파일타임 상수 public const string MyName = Kim Min Soo; // 런타임 상수 public static readonly MyNickname = SoBoroo; re..
1) 지역변수를 선언할 때는 var를 사용하는 것이 낫다 C#은 타입을 암시적으로 선언할 수 있는 var을 제공한다. 특정 변수를 var로 선언하면 연산자 오른쪽의 타입을 환산하여서 왼쪽 변수의 타입을 결정하게 된다. 그렇다면 var를 무작정 사용하면 타입 선정하는 데 걸리는 시간이 늘어나 컴파일 타임에 악영향을 주는게 아닐까? 결론부터 말하자면 "그렇지 않다." 이다. var를 사용한다고 해서 컴파일 타임에 큰 영향을 주지도 않을 뿐더러 몇 가지 이득을 취할 수 있다. 1. 암시적으로 변수를 선언한 코드가 더 잘 읽힌다. var를 사용하면 변수의 타입 같은 중요하지 않은 부분보다 변수의 의미 자체에 더 집중할 수 있다. 하지만 변수의 타입 정보가 필요할 때, 정확하게 유추할 수..