Programming/C#
[C# 6.0] 문자열 보간(String interpolation)
[C# 6.0] 문자열 보간(String interpolation)
2021.07.04C# 6.0에서 문자열 보간(String interpolation)이라는 기능이 추가되었다. $ 특수문자는 문자열 리터럴을 보관된 문자열로 식별하는데, 보간 된 문자열이란 보간 식이 포함될 수 있는 문자열 리터럴이다. 기존 String.Format()과 기능은 동일 하지만 더 읽기 쉽고 편리하게 출력 서식을 지정할 수 있다고 한다. 기본적으로 사용은 문자열 앞에 $기호를 추가하면 된다. $"오늘은 {month}월 {day}일이야." 보간 된 문자열의 구조 보간 된 문자열의 구조는 다음과 같다. {[,][:]} 대괄호 안의 요소는 선택사항으로, 각 요소들이 의미하는 바는 아래 표와 같다. 요소 설명 interpolationExpression 서식을 지정할 결과를 생성하는 식. null의 문자열 표현은 St..
[C#] .NET Framework에 대응하는 C# 버전
[C#] .NET Framework에 대응하는 C# 버전
2021.06.02C#은 .NET Framework 버전 및 Visual Studio 버전과 밀접한 관련이 있으며, .NET Framework버전에 대응하는 C# 버전은 다음과 같다. .NET 버전 C# 버전 Visual Studio .Net 1.0 C# 1.0 Visual Studio .NET .Net 1.1 C# 1.1 Visual Studio .NET 2003 .Net 2.0 C# 2.0 Visual Studio 2005 .Net 3.0 C# 2.0 Visual Studio 2005 Extensions .Net 3.5 C# 3.0 Visual Studio 2008 .Net 4.0 C# 4.0 Visual Studio 2010 .Net 4.5 C# 5.0 Visual Studio 2012 Visual Studio 20..
[C# 8.0] 널 병합 할당자
[C# 8.0] 널 병합 할당자
2020.08.27널 병합 할당자 C# 8.0에서 null 병합 할당 연산자 ??= 가 도입되었다. ??= 연산자는 앞의 변수가 null 일 경우 뒤에 오는 피연산자의 값을 가져와 앞의 변수에 할당한다. 이때, 왼쪽 피연산자를 null이 아니라고 평가하면 ??= 연산자는 오른쪽 피연산자를 평가하지 않는다. 변경 전 if (list == null) { list = new List(); } 변경 후 static List AddData(List list, int? a, int? b) { // 널 병합 연산자 list ??= new List(); list.Add(a ??= 1); list.Add(b ??= 2); return list; } 널 병합 연산자와 널 병합 할당자는 다음과 같이 사용 할 수 있다. int? a = nul..
[C# 6.0] 널 조건 연산자 (Null-conditional operator)
[C# 6.0] 널 조건 연산자 (Null-conditional operator)
2020.08.27널 조건 연산자 (Null-conditional operator) C# 6.0 이상에서는 연산자 하나로 깔끔하게 해결할 수 있다. (= 널조건 연산자) ? 널 조건 연산자는 ? 앞에 있는 객체가 Null인지 체크해서 Null이면 그냥 Null을 리턴하고, 그렇지 않으면 ? 다음의 속성이나 메서드를 실행한다. 하나하나 if문으로 null체크를 할 필요가 없이 축약해서 사용할 수 있어지는 것이다. 문법적인 측면에서 ? 다음에 일반적으로 속성이나 메서드가 오기 때문에 ?. 와 같이 표현되지만, 만약 인덱서 혹은 배열 요소 등을 접근할 경우는 ?[] 와 같이 표현될 수도 있다. 예시 // rows가 NULL이면 cnt 도 NULL // rows가 NULL이 아니면 cnt는 실제 rows 갯수 int? cnt =..
[C#] String.Format 표준 숫자 서식 문자열
[C#] String.Format 표준 숫자 서식 문자열
2020.06.20소수점 밑에는 필요 없거나 특정 소수점까지 표현 할 때, string str = string.Format( "{0:f0}", 12.3456 ); // 결과 : 12 string str = string.Format( "{0:f1}", 12.3456 ); // 결과 : 12.3 string str = string.Format( "{0:f2}", 12.3456 ); // 결과 : 12.34 필요한 자리수 지정 시, 수 앞에 00 채울 수 있다. string str = string.Format( "{0:D2}", 5 ); // 결과 : 05 string str = string.Format( "{0:D3}", 5 ); // 결과 : 005 string str = string.Format( "{0:D4}", 5 )..