프로그래밍 언어

프로그래밍 언어/c#

c#7.0 Tuple, Local Function, out, binary literal, Deconstructor

1.튜플(Tuple) C# 7 부터는 튜플(Tuple)을 사용하여 메서드로부터 복수 개의 값들을 리턴할 수 있게 되었다! (List나 배열로도 출력이 가능하겠지만 아무래도 좀 불편했다) 파이썬이랑 문법이 상당히 유사하다. 뭐 튜플이 다 거기서 거기겠다만,,빠르게 예제로 배우자! var person = ("Alice", 25);//기본적인 튜플 형식, 당연하겠지만 var로 선언이 가능하다. var person = (Name: "Alice", Age: 25);//요소에 이름도 지정이 가능하다. public static (string, int) GetPerson() { string name = "Alice"; int age = 25; return (name, age); } //와 같이 매서드의 반환 형식으로도..

프로그래밍 언어/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..

프로그래밍 언어/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 키워드를 ..

프로그래밍 언어/c#

c# Reflection, Attribute

1.리플렉션의 정의 C#에서 리플렉션(Reflection)은 실행 중인 프로그램에서 현재 타입(Type)에 대한 정보를 가져오거나 조작할 수 있는 기능을 제공합니다. 즉, C# 코드에서 작성한 클래스나 구조체 등의 타입(Type) 정보를 프로그램 실행 중에 얻을 수 있으며, 이를 이용하여 인스턴스 생성, 메소드 호출 등 다양한 작업을 수행할 수 있습니다. 2.왜 쓰는거지 ? 코드에서 작성한 클래스, 구조체, 메소드, 필드, 프로퍼티, 이벤트 등의 정보를 가져올 수 있습니다. 또한, 가져온 정보를 이용하여 인스턴스를 생성하거나 메소드를 호출할 수도 있습니다. 이렇게 가져온 정보를 이용하여 프로그램을 동적으로 조작하는 기능을 제공하므로, 유연한 프로그래밍이 가능 3.주의점 리플렉션을 이용할 때는 코드의 안전..

OfficialCaox
'프로그래밍 언어' 카테고리의 글 목록 (2 Page)