적용 주제
- string.empty 대 큰 따옴표 ( "")
- string.Equals vs. ==
- string.Intern
- Strings vs. StringBuilder
- StringBuilder를 선택해야하는 경우
- String concatenation vs. string.Format
- Advantages of string.Format
- 대소 문자를 구분하지 않는 비교
- Out vs. return
- 불필요한 공백 행 제거
- Linq - First vs. FirstOrDefault
- FirstOrDefault를 사용하는 경우
- Single vs. SingleOrDefault
- Performance: FirstOrDefault vs. SingleOrDefault
- Disposable.Dispose vs. Using Block
string.empty 대 큰 따옴표 ( "")
문자열 .empty는 큰 따옴표 ( "")보다 읽기 쉽도록 개선 합니다.
string.Equals 대 ==
string.Equals와 "=="는 기본 데이터 유형 또는 값 유형 (int, double, char, bool)에 대해 동일합니다 (내용 기준 비교이므로).
- "=="객체 참조를 비교합니다. 컴파일시 호출함;
- 'string.Equals'는 값을 비교합니다. 런타임에 호출함;
string.Equals는 == 보다 가독성을 향상시킵니다.
문자열 .Internet
문자열의 동일한 값을 반복해서 복사해야한다면 string.Internet을 사용하여 성능을 향상시키는 것이 좋습니다.
문자열 대 StringBuilder
- 불변의 의미는 다음과 같습니다. 데이터 값을 변경할 수 없습니다.
변수의 값은 변경 될 수 있지만 원래의 변경 불가능한 값은 무시되고 새 데이터 값이 메모리에 작성됩니다.
- 문자열은 변경할 수 없으며 StringBuilder는 변경할 수 있습니다.
- 대량의 문자열 조작이 필요한 경우 StringBuilder를 사용하십시오.
- 문자열은 변경할 수 없습니다. 따라서 문자열을 변경하면 매번 새로운 인스턴스가 메모리에 만들어집니다.
StringBuilder를 선택해야하는 경우
세 번 이상의 문자열 조작이 필요하면 StringBuilder를 사용하십시오.문자열 연결 대 string.Format
장점
-
가독성 향상.
-
성능을 향상시킵니다.
-
수정하기 쉽습니다.
대 / 소문자 비 구분 비교 Out 대 return return
메소드를 사용하는 방법이 out보다 빠릅니다.
불필요한 빈 줄 제거
불필요한 빈 줄과 공백을 제거하는 더 나은합니다.
Linq - First vs. FirstOrDefault
First
결과에 하나 이상의 요소가 있지만, 첫 번째 요소가 필요하다면 empty가 좋지 않습니다. 리스트가 empty 경우는 예외가 throw 됩니다.
FirstOrDefault
결과에 하나 이상의 요소가 있지만, 첫 번째 요소가 필요하거나 empty 가 있으면 좋습니다. 단 source-list가 null의 경우, 예외를 throw합니다.
FirstOrDefault를 사용하는 경우
- 하나 이상의 결과가 예상되는 경우 첫 번째 레코드가 필요합니다.
- 또는 결과가 없는 경우; 하지만 당신은 기본값을 원한다.
- 결과가 비어 있으면 예외는 없습니다.
단일 대 SingleOrDefault
- single - 요소가 1 개만 필요하면 (1 또는 0보다 작음).
- SingleOrDefault - 요소가 1 개 또는 0 개 (1 개 이하)이면됩니다.
성능 - FirstOrDefault 대 SingleOrDefault
FirstOrDefault는 SingleOrDefault보다 빠릅니다.IDisposable.Dispose 대 블록 사용'블록 사용'을 사용하는 것이 더 좋습니다. 예외 또는 return 문이있을 수 있지만 dispose를 호출합니다.Magic Value
코드 블록에서 직접 마술 값 (하드 코딩 된 문자열, 숫자)을 사용하지 마십시오. 모든 하드 코딩 된 값을 하나의 개별 클래스 또는 적어도 클래스 맨 위에 배치하십시오. 코드 관리 기능이 향상 될 것입니다.