분류 전체보기

프로그래밍 언어/c#

C# 7.0 패턴 매칭

1. is 연산자에 새로운 기능이 추가됐다. 기존에는 ==로만 가능했던게 is로도 가능하다고 한다. 근데 이게 가독성은 좋긴한데(이것도 잘 모르겠음,,) 다른 기능이 있나 찾아보니까 없다고 한다. 그냥 된다 정도만 알아두자. if(str == null) //이랑 if(str is null) //이랑 같다. 2-1. 타입 패턴(Type Pattern) 이게 무엇인고 하니 기존에는 #1,2의 예제만 가능했는데 #3의 예제를 사용해서 더 편리해졌다 이건 좀 유용할듯 하다. #기존코드 1 if (animal is Dog) { ((Dog)animal).Bark(); } #기존 코드 2 Dog dog = animal as Dog; if (dog != null) { dog.Bark(); } #새로운 기능 !!! if..

게임공부/디자인패턴

Design Patterns - 싱글톤(Singleton)

싱글톤 1.정의 싱글턴 패턴은 객체를 하나의 인스턴스로 제한하여, 메모리 사용을 줄이고 객체의 생성과 소멸을 제어할 수 있는 디자인 패턴 다른 어떤 클래스도 자신의 인스턴스를 추가로 만들지 못하게 해야한다. 인스턴스에 접근할 수 있도록 전역 접근자를 제공해야한다. 2.장점 인스턴스를 하나만 생성하기 때문에 메모리를 효율적으로 사용할 수 있습니다. 다중 스레드 환경에서도 안정적으로 동작합니다. 객체의 생성과 소멸을 단일한 위치에서 관리하기 때문에 유지보수가 용이합니다. 3.예제 3.1.기본 싱글턴 public static HammerUI Instance { get; private set; } private void Awake() { Instance = this; } 장점은 구현하기 쉽다는 것이다. 간단한 ..

게임공부/게임관련지식

오토마타 이론 :유한상태 머신(Finite State Machine, FSM)

오토마타 이론 1.게임 제작을 하는데 왜 오토마타 이론을 배워야 하는가 ? 이 이론은 상태(state)와 이벤트(event)를 처리하는 시스템을 모델링하고 분석하는 데 사용된다. 사용 예를 들어보면 게임에서 플레이어가 상호작용하는 오브젝트가 많은 경우, 이 오브젝트들의 동작을 설계하기 위해 오토마타 이론을 사용할 수 있다. 상태와 이벤트를 정의하고 이를 이용해 각 오브젝트들의 상호작용을 모델링하면, 게임에서 예상치 못한 동작이 발생하는 것을 방지하고 보다 안정적으로 플레이를 구현할 수 있다. 또한, 오토마타 이론은 게임 인공지능(AI) 구현에도 매우 유용하다. 2.정의 : 입력을 받아 일련의 상태를 거치면서 출력을 생성하는 추상적인 기계 모델 +유한한 개수의 상태를 가진 머신이라고 할 수 있다. 이게 무..

프로그래밍 언어/c#

c# yield, nullable, 전처리기, 인덱서, Anonymous, Extension,partial, dynamic

nullable을 제외하고는 솔직히 잘 사용을 안하는지라 까먹은 부분들이 많아서 다시금 한번 정리를 해보려고한다. 1.yield yield는 C#에서 iterator(반복자)를 생성할 때 사용하는 키워드다. iterator는 반복 가능한 컬렉션을 만들기 위해 사용되며, 데이터의 소스를 순회하고 데이터를 하나씩 반환하는 데 사용된다. 예제코드 public IEnumerable GetNumbers() { for (int i = 1; i

프로그래밍 언어/c#

C# 6.0 정리

1.Expression-bodied member 간단한 프로퍼티나 메서드들을 대체하는 형식이다. 자주 사용하는 문법이었고 그저 람다식의 일종으로 알고 있었는데 이름이 따로 있었다니.. //메서드 대체 예시 public void MethodA() { Console.WriteLine("AAA"); } public void BodyA => Console.WriteLine("AAA"); //프로퍼티 대체 예시 public string GetA { get { return "A"; }} public string BodyGetA => "A" 2.catch/finally 블럭에서 await 사용 IDbConnection conn; try { //... var response = await req.GetResponseA..

프로그래밍 언어/c#

C# abstract class, Interface

평소에 인터페이스만 사용했기에 딱히 abstract class에 대해서 따로 사용해본적이 없었는데 차이점을 배울 겸 간단하게 적어본다. 추상 클래스 인터페이스 접근 지정자 반드시 public이어야 하는 추상 메서드를 제외한 모든 멤버는 private으로도 선언될 수 있다. 명시하지 않아도 모든 메서드는 public으로 고정이다. 재정의도 반드시 public이어야 한다. 구현 추상 메서드를 제외한 모든 메서드는 구현을 포함할 수 있다. 구현을 포함할 수 없다. 속도 비교적 빠르다. 비교적 느리다. 하지만 무시할 수 있는 수준이다. 인스턴스화 할 수 없다. 할 수 없다. 필드 가질 수 없다. 가질 수 있다. 메서드 모든 형태의 메서드를 가질 수 있다. 추상 메서드만 가질 수 있다. abstract 키워드를 ..

OfficialCaox
'분류 전체보기' 카테고리의 글 목록 (6 Page)