본문 바로가기
[C#] 연산자 오버로딩 (Operator Overloading) C#에는 연산자 오버로딩을 제공한다. 연산자 오버로딩이란?C#에서 제공하고 있는 연산자에 대해 기능을 다시 부여하는 것을 의미한다.기본 문법 형태는 public static [리턴속성] operator [연산자](매개변수1, 2) 이다. 예를 들어 이런 Person 이란 클래스가 있다고 가정을 할때 Person p1 = new Person();Person p2 = new Person();Console.WriteLine(p1 + p2); // Error 이런식으로 더하기를 하면 당연히 컴파일 오류가 발생할 것이다. 하지만 두 Person이 나이의 합을 반환하고 싶다면 어떻게 해야할까addPerson 이란 메서드를 만들어 addPerson(p1, p2) 이런식으로 사용 할 수 도 있지만두 사람의 나이가 아닌.. 2024. 12. 11.
[C#] Enumerable.FirstOrDefault() 메서드 Enumerable.FirstOrDefault()Enumerable의 메서드 중 FirstOrDefault는 첫번째 값을 반환하거나 해당 시퀀스가 비어있다면 시퀀스 타입의 기본값을 반환한다.int의 기본값은 0, string의 기본값은 "" 이다.메서드 예제 1.string 형식의 a, b, c가 담긴 배열과 아무것도 들어있지 않은 int 배열을 이용해 FirstOrDefault 메서드를 사용해 보겠다.string[] strArr = { "a", "b", "c" };int[] intArr = new int[] { };string str1 = strArr.FirstOrDefault();int i1 = intArr.FirstOrDefault();Console.WriteLine(str1); // aConsol.. 2024. 12. 10.
[C#] ? 문법 (question mark) 다른 사람의 코드를 리뷰 하던 중 ? 가 사용되는 경우를 여럿 발견해서 한번 정리해 보았다. case1. 삼항연산자 ?대표적인 ? 문법으로 간단한 if else문을 한줄로 표현할 수 있다.조건식 ? 조건이 참인 경우 : 조건이 거짓인 경우;int i = 100;// i가 100 이상인 경우 1을 아니면 0을 반환int reuslt = i >= 100 ? 1 : 0;Console.WriteLine(reuslt); // 1 case2. type 뒤 ? (Nullable)변수를 선언할 때 타입에 따라 초기값이 지정 된다. 대표적으로 int는 0, string은 "" 이 초기값도 활용해야 할 경우 사용하면 좋은 문법이다. 해당 문법을 사용하지 않으면 기본적으로 변수에 null이 들어갈 수 없다.TYPE? 변수명.. 2024. 11. 28.
[C#] Dictionary로 변환 (ToDictionary) Enumerable 메서드 중 Dictionary로 변환해주는 ToDcitonary에 대해 알아보겠다. .ToDictionary([key가 될 값], [value가 될 값])각 요소를 돌며 key와 value를 지정해준다. key만 지정해줄 수 도 있고, key와 value를 다 지정해줄 수 도 있다.key만 지정해주는 경우 value는 순차적으로 들어간다. 메서드 예제key만 지정해주는 경우int 배열을 dictionary로 변경해 주었다.각 요소를 string으로 변환해 key로 잡았다.int[] arr = { 1, 2, 3 };var dic = arr.ToDictionary(i => i.ToString());foreach(var keyValue in dic){ Console.WriteLine(.. 2024. 11. 6.
[C#] Linq (람다식 메서드) 최근 수정: 2024.11.05Enumerable 클래스 중 람다식을 사용하는 메서드를 기록하는 곳입니다. 주요메서드Select() :  각 요소를 요청에 맞게 만들어 새로운 시퀀스를 만들어 준다. 예를 들면 각 요소의 타입을 변경한다던지, 특정 프로퍼티만 추출한다던지, 각 요소에 연산을 한다던지 등등string[] intStrs = { "123", "456", "789" };int[] answer = intStrs.Select(s => int.Parse(s)).ToArray(); // 각 요소를 정수로 바꾸기foreach (int i in answer) Console.Write(i + " "); // 123 456 789 Where() : 특정 조선을 만족하는 요소만 선택해서 새로운 시퀀스를 만든.. 2024. 11. 5.
[C#] int에서 string로 변환 (int to string) 1. 단순 변환int의 ToString() 메서드를 사용하면 string으로 변환할 수 있다.int i = 3;string str = i.ToString();Console.WriteLine(str); // 3 2. 진법을 변환하면서 string으로 변환하기Covert클래스의 ToString 메서드를 사용하면 진법을 바꾸면서 string으로 변환할 수 있다.Convert.ToString(int, int) 형태로 두번째 매개변수에 변환할 진법을 숫자로 넣어주면 된다.2, 8 , 10, 16진수로 변환이 가능하다.int i = 6;string str = Convert.ToString(i, 2); // 6을 2진법으로 변환Console.WriteLine(str); // 110 2024. 11. 4.