Language/C# 20

[C#] Operator Precedence

C# 연산자 및 식 - 모든 C# 연산자 및 식 나열 - C# Microsoft Learn우선순위연산자 유형연산자0기본x.y (맴버 액세스)f(x) (호출 식)x?.y , x?[y] (Null 조건부 연산자)x++, x--newtypeof,checked,unchecked,defualt,nameof,delegate,sizeof,stackalloc,x->y (포인터 맴버 엑세스)1괄호()2단항연산자++x, --x, ture,false..3산술 곱*, /4산술 덧셈+-5shift>, >>>6관계형 및 형식테스트, =, is, as7equality==, !==8논리 and&9논리 Xor^10논리 or|11조건부 And&&12조건부 OR||13Null 병합??14조건 연산자c?t:f15할당 및 람다 선언

Language/C# 2024.10.14

[C#] Literal

Lexical structure - C# language specification | Microsoft Learn정수형 리터럴1. 10진수 리터럴 (Decimal Integer Literal)정수 범위: 0 ~ 9예시: 123, 1_000_000 (언더스코어 _ 사용 가능)타입 접미사:U 또는 u: 부호 없는 정수L 또는 l: long 타입 정수UL 또는 ul: 부호 없고 long 타입 정수예시:42U: 부호 없는 정수42L: long 타입 정수42UL: 부호 없고 long 타입 정수2. 16진수 리터럴 (Hexadecimal Integer Literal)정수 범위: 0 ~ 9, A ~ F표기법: 0x 또는 0X로 시작타입 접미사: 10진수와 동일 (U, L, UL)예시:0xFFU: 부호 없는 16진수0..

Language/C# 2024.10.14

[C#] dotNet

.Net FrameworkCLR이라는 공용언어 런타임을 사용해서 다양한 언어로 작성된 코드로 윈도우 데스크탑 애플리케이션을 구축하기 위해 최적화 됨.Net core.Net Framework의 멀티 플랫폼 버전MonoMono는 작은 런타임이 필요할 때 주로 사용되는 .NET 구현Android, macOS, iOS, tvOS 및 watchOS에서 Xamarin 애플리케이션의 성능을 향상하는 런타임주로 작은 사용 공간에 초점을 맞춤또한 Mono에서는 Unity 엔진으로 만든 게임이 동작일반적으로 Mono는 Just-In-Time 컴파일러에서 사용되지만 iOS 같은 플랫폼에 사용되는 전체 정적 컴파일러(Ahead-Of-Time 컴파일) 기능도 제공C++ 프로그램:컴파일 및 링크 과정:C++ 코드 → 컴파일러(c..

Language/C# 2024.10.14

[C#] Reflection

Reflection 이란?런타임에 어셈블리, 모듈, 형식 및 해당 맴버들에 대한 정보를 검사하고 수정할 수 있는 기능변수 형식을 가져오는 리플렉션 예제int i = 42;Type type = i.GetType();Console.WriteLine(type); // System.Int32주요 기능 및 사용 사례형식 정보 검사 : 객체의 형식, 이름, 어셈블리 정보를 런타임에 확인동적 객체 생성 : 런타임에 동적으로 객체를 생성메서드 및 속성 호출 : 동적으로 메서드를 호출하거나 속성값을 읽고 씀특성 검사 : Attribute를 런타임에 확인하여 메타데이터 접근 가능인터페이스나 상속관계 검사 : 객체가 특정 인터페이스를 구현했는지, 기본클레스를 상속받았는지 여부를 런타임에 검사단점컴파일 시에 타입 안정성을 해..

Language/C# 2024.10.14

[C#] Enum

Enum 이란열거형Enum.GetNames vs Enum.GetValues차이점 요약Enum.GetNames:열거형의 이름(문자열) 목록을 반환 (string[]).각 열거형 항목의 이름을 가져옴Enum.GetValues:열거형의 값(정수 또는 해당 열거형 타입) 목록을 반환 (Array).각 열거형 항목에 할당된 값을 가져옴둘이 비슷해보이지만, GetValues는 enum 타입 그 자체의 값을 가져온다. 즉 (int)output 하면 그 값의 숫자를, output.string() 하면 그 값의 이름을 가져온다.함께 사용 예시:public enum Days{ Sunday = 0, Monday = 1, Tuesday = 2, Wednesday = 3, Thursday = 4, ..

Language/C# 2024.10.14

[C#] Orderby

What is Orderby Function?배열이나 리스트의 각 요소에 대해 "정렬 기준"을 하나 설정하고, 그 기준에 맞게 오름차순으로 정렬하는 함수숫자 리스트를 오름차순으로 정렬int[] numbers = {5,2,9,1,6};int[] sorted = numbers.OrderBy(x=>x).ToArray();// 결과=> numbers : {1,2,5,6,9}객체 리스트를 특정 필드를 기준으로 정렬class Person{ public sring Name {get;set;} public int Age{get;set;}}List people = new List{ new Person{Name="Alice", Age = 30}, new Person{Name="Bob", Age = 25}, new Pers..

Language/C# 2024.10.14

[기본] 참조(얕은 복사)

Class Class A{ public B b; } Class B{ public int c; } Class Main{ public main(){ B b = new B(); // B를 메모리에 할당 -> heap의 MB공간을 차지한다고 가정 A a = new A(); // A를 메모리에 할당 -> heap의 MA공간을 차지한다고 가정 a.b = b; // A의 b는 MB를 참조함 } }예제 using System; using System.Collections.Generic; using System.Linq; using System.Text.RegularExpressions; namespace Rextester { public class Program { public static void Main(strin..

Language/C# 2022.09.20

[C#문법] Dictionary

초기화 Dictionary dic = new Dictionary(); Dictionary dic = new Dictionary(){{key,value},{key,value}} 값할당 dic[key] = value dic.Add(key,value) foreach foreach(dtype key in dic.Keys){} foreach(dtype value in dic.value){} foreach(KeyValuePair kvp in dic){ Debug.log(kvp.Key); Debug.log(kvp.Value); } 복사 생성자 인수에 복사하고 싶은 오브젝트 지정 var dic2 = new Dictionary(dic); 기능 bool dic.Remove(key) 해당 key,value쌍 제거 dic.R..

Language/C# 2022.08.31