C#
[C# 8.0] Nullable Reference Type이란?
[C# 8.0] Nullable Reference Type이란?
2020.02.29C# 8.0의 새로운 기능들 중 하나로 Nullable Reference Type(널 참조 형식)이 있다. https://docs.microsoft.com/ko-kr/dotnet/csharp/whats-new/csharp-8#nullable-reference-types C# 8.0의 새로운 기능 - C# 가이드 C# 8.0의 새로운 기능을 살펴봅니다. docs.microsoft.com 이미 클래스와 같은 Reference Type은 null을 가질 수 있는데 굳이 Nullable 필요할까?라는 의문이 들어서 찾아봤다. Nullable Reference Type에 대해서 알아보자 1. Nullable Reference Type을 선언하려면 Nullable Value Type과 같이 Class명 우측에 물음..
[C#] Nullable (Value Type)
[C#] Nullable (Value Type)
2020.02.26Nullable이란? Nullable Value Type은 널 값을 가질 수 없는 Value/자료형을 Null 값을 허용해주는 게 하는 새로운 타입이다. 예를 들어서, Bool은 True 또는 False만 가질 수 있지만 Nullable을 쓰면 True, False, Null까지 가지게 해 준다. Nullable 선언하기 Nullable Type은 값 형식(T)에 물음표(?)를 붙이면 된다. T? 의 예시 bool? isOlder = null; int? myAge = 12; Nullable Type은 제네릭인 System.Nullable 구조체의 인스턴스여서 Nullable로도 선언할 수 있다. Nullable의 예시 Nullable isOlder = null; Nullable myAge; 대표 이미지 ..
[유니티/C#] StringBuilder 정리 및 사용법
[유니티/C#] StringBuilder 정리 및 사용법
2020.02.26C# 공식 문서에 잘 정리되어있지만 필요할 때마다 코드를 찾아보기가 귀찮고 기계 번역된 한국어 문서는 너무 어색해서 영어로 봐야 하는 번거로움이 있어서 정리할 겸 쓰는 글이다. 문제 자바든 C#이든 String을 짧은 시간 동안 (예를 들어서 반복문) 계속 수정(Concat)해주면 계속 동적 활당을 해서 성능이 크게 저하가 될 수 있다. 문제가 되는 코드 예시 using System; public class Program { string BadCodeExample() { string myString = ""; for (int i = 0; i StringBuilder 클래스 (System.Text) 변경할 수 있는 문자열을 나타냅니다.Represents a mutable string of character..
[C#] 구조체(struct)
[C#] 구조체(struct)
2019.07.19구조체의 정의 구조체는 관련된 변수들을 묶는 데 사용하는 값 형식입니다. 3차원 좌표 같은 것을 저장하기 위해서는 x, y, z 좌표를 float형으로 선언해서 저장하면 될 것입니다. float x;, float y;, float z; 하지만, 이 변수들은 개별적으로 존재하며 단체적으로 관리하기 어렵습니다! 이것이 따로 변수 x, y, z로 돌아다니는 것보다 뭉쳐서 저장하면 관리하고 추적하기 더 편하겠죠! 그럴 때는 구조체를 많이 씁니다. 먼저 3차원 좌표를 표현하기 위한 구조체를 만들어 봅시다! // 3차원을 표현하기 위해 만든 구조체 public struct Vector3 { public float x; public float y; public float z; } 구조체를 만들기 위해서는 struct..
[C#] 배열 - 다차원 배열, 가변 배열
[C#] 배열 - 다차원 배열, 가변 배열
2019.07.17C#에는 다차원 배열과 가변 배열이 있다. 두 종류의 배열의 차이와 선언 방법에 대해 간단히 알아보자! 다차원 배열 다차원 배열은 2차원, 3차원,... , n차원의 배열을 뜻한다. 다차원 배열을 보기 전에 먼저 1차원 배열을 살펴보자. 1차원 배열의 문법 타입[] 배열이름 = new 타입[배열크기]; 1차원 배열의 선언과 동시에 초기화 타입[] 배열이름 = new 타입[] { 요소1,요소2, ...}; // 예시 1 int[] myArray1 = new int[10]; myArray1[1] = 1; // 예시 2 int[] myArray2 = new int[] {1,2,3,4,5}; // 예시 3 string[] myArray3 = new string[] {"text1","text2","text3"};..