본문 바로가기
반응형

유니티 공부/C# 문법51

C# - const와 readonly const const 값은 변수가 선언될 때 초기화 되며 이후에는 변경할 수 없다. 또한 자동으로 static의 특성을 갖는다. 마지막으로 const는 선언과 동시에 초기화 되어야한다. 만약에 안될 경우 컴파일 에러가 뜬다. const int pi = 3.14; readonly 초기화 이후에는 변경할 수 없지만 선언할 때 또는 클래스의 생성자에서 값을 할당할 수 있다. 자동으로 static되지 않는다. 마지막으로 변수는 선언시 초기화할 필요가 없이 생성자에서 초기화 할 수 있다. 이 변수는 런타임시 할당된다. public class Piggy { public readonly static int piggy_age; public readonly int piggy_weight; static Piggy() { .. 2024. 4. 9.
C# - 클래스(Class)와 구조체(Struct)의 차이 01 가장 큰 차이점은 상속 가능의 여부 구조체는 상속이 안된다. 그렇다면 구조체가 필요없는거 아닐까? C와 C# 간의 호환성 때문에 C#에서도 C코드를 돌릴 수 있도록 남겨둔 것이다. 02 타입 여부 구조체는 값 타입, 클래스는 참조 타입이다. 간단한 예시로 알아보자 재산이 많은 할아버지가 자손에게 재산을 상속하고 싶은데 알고보니 재산이 구조체로 선언되어있어서 재산을 상속할 수 없다. 아래와 같이 코드를 작성하면 오류가 난다. struct Father { public void fathermoney() { } } struct Son : Father { public void sonmoney() { } } class main { public static void Main() { Father father; f.. 2024. 3. 29.
C# 문법 - 값 타입(Value type)과 참조 타입(Reference type) 값 타입(Value type) 스택에 저장된다. 그러므로 힙에 객체로 할당되지 않아서 GC가 관리 하지 않고 포인터로 가리켜지도 않는다. 선언되는 즉시 메모리에 할당 따라서 생성과 동시에 값을 할당할 수도 있다. int a = 10; c#에서 값타입에는 int, 부동 소수점, double와 같은 원시 타입과 구조체 참조 타입(Reference type) 값을 별도의 메모리 공간(heap)에 저장하고 메모리의 주소를 변수명과 함께 stack에 저장한다. 참조 타입은 새로운 값을 할당하기 위해서는 new를 통해 선언을 해주어야한다. 참조 타입에는 객체, 배열, 문자열,클래스 등이 있다. 코드 예시 예를 들어서 우리집 클래스가 있다고 해보자 class myHome { void room() { } } 만약 객체.. 2024. 3. 29.
C# - SortedSet, SortedDictonary (기본생성자, IComparer생성자) SortedSet 중복된 요소를 허용하지 않고 정렬된 순서로 요소를 저장하는 집합이다. 이진 검색 트리로 구현되어 있어 요소의 삽입, 삭제, 검색 등의 작업이 빠르게 수행된다. 01 기본 생성자 아래 생성자는 기본적으로 오름차순으로 정렬된 SortedSet을 생성한다. public SortedSet () 예시 SortedSet sortedSet = new SortedSet(); 02 사용자 지정 비교자(comparer) 생성자 요소의 비교 방법을 사용자가 원하는 방식으로 지정하여 SortedSet을 생성한다. public SortedSet (System.Collections.Generic.IComparer? comparer); 예시 SortedSet sortedSet = new SortedSet(new .. 2024. 3. 17.
C# - Set과 HashSet(Add,Remove,Contains,IntersectWith,UnionWith) Set(Abstract data type) 01 중복을 허용하지 않는다. 중복된 값을 허용하지 않으므로 데이터의 유일성을 보장한다. 그러므로 같은 값을 여러번 저장하더라도 실제로 한 번만 저장된다. 02 순서를 보장하지 않는다. 비선형구조이기 때문에 순서의 개념과 인덱스가 존재하지 않는다. 그러므로 Set에 저장된 요소를 인덱스를 사용하여 접근할 수 없다. 값을 추가하거나 삭제할 때는 해당 값을 검색하여 기능을 수행해야한다. 03 Set은 언제 쓰면 좋을까? 중복된 데이터를 제거해야 할 때와 데이터의 존재 여부를 확인해야 할 때이다. HashSet 해시 테이블을 기반으로 구현된 집합(Set)의 자료구조이다. 이는 중복된 요소를 허용하지 않고 요소의 순서를 보장하지 않는다. 큰 장점으로는 빠르게 요소를 검.. 2024. 2. 20.
C# - Windows Forms 프로젝트 사용해보기 1. 새 프로젝트 만들기 - windows form 검색 2. Form 확인 3. 보기 - 도구상자 - 필요한 도구 선택 4. 버튼을 넣어보자 01 도구상자에서 버튼 클릭 그리고 우측버튼을 누르면 코드보기 클릭 02 button1_Click메서드 버튼이 눌러졌을때 실행되는 메서드이다. 여기에 버튼이 클릭되었을때 실행하고 싶은 코들르 작성하면 된다. private void button1_Click(object sender, EventArgs e) { } 2024. 1. 20.
반응형