본문 바로가기

Programming/C#

C# Anonymous Type Anonymous Type(익명 타입) 개요 선언과 동시에 객체를 할당한다. 간단히 사용할 객체를 만들때 유용하다. public void AnonymousTypeSimple() { var sample = new {name = "이상운", age = 28 }; } AnonymousType을 사용 public class AnonymousData { public String name { get; set; } public int age { get; set; } } public class AnonymousType { //AnoymousType의 데이터 저장 하여 사용 public void AnonymousSample() { var arraySample = new { age = new int[] { 31, 12, .. 더보기
C# Lamda Lambda Expression(람다식) 개요 람다식은 무명 메서드를 단순한 계산식으로 표현한 것 LINQ 쿼리 식을 작성하는데 유횽하다. => 연산자는 할당(=)과 우선 순위가 같고 오른쪽 "결합성"이 있다. "결합성"이란? 우선 순위가 동일한 연산자 두 개 이상이 식 하나에 있으면 두 연산자의 결합성에 따라 연산 순서가 결정된다. 왼쪽 결합성이 있는 연산자는 왼쪽에서 오른쪽으로 계산됩니다. 예를 들어, x * y / z는 (x * y) / z로 계산된다. 오른쪽 결합성이 있는 연산자는 오른쪽에서 왼쪽으로 계산된다. 사용법 람다 연산자 => 왼쪽에 매개 변수를 지정, 오른 쪽에 식을 삽입 public class Lamda { public delegate int LamdaDelegate(int opera.. 더보기
C# Yield Yield 키워드 개요 yield를 알기위해서는 Enumerable을 알아야 할 필요가 있다. 1. IEnumerable array는 정적이다. 하지만 IEnumerable은 동적인 공간을 가지고 있어, 동적인 데이터를 저장하기에 좋다. LINQ를 사용하기에 좋다. 2. IEnumerable vs List 두가지다 동적인 공간을 제공한다. 차이는 무엇이 있을까 차이점 List는 IEnumeralble을 상속받는다 때문에 아래와 같이 캐스팅해야한다. IEnumerable iEnumerable = new List(); -- O 가능 List list = new IEnumerable(); -- X 불가능 -> (수정) List list = new IEnumerable().toList //.toList를 사용해.. 더보기
C# Partial Type Partial Type 정의 클래스나 구조체, 인터페이스 또는 메서드의 정의를 둘 이상의 소스 파일로 분할할 수 있다. 각 소스 파일에는 형식이나 메서드 정의가 들어있고 이 모든 부분은 응용 프로그램을 컴파일할 때 “결합”된다. 장점 클래스를 개별 파일로 분할하면 여러 프로그래머가 동시에 작업을 수행할 수 있다. 기본형식 두 개의 클래스는 컴파일 할 때 결합되어 실행 된다. public partial class PartialType { public void PartialTest1() { } } public partial class PartialType { public void PartialTest2() { } } 밑의 선언은 “public class PartialType : FirstClass, Firs.. 더보기
C# NullType Nullable Type 개요 C#에서는 int, float, struct등 기본 value type은 null을 가질 수 없다. 필드 변수는 어떤 값이 할당되지 않은 상태 (missing value)를 가질 수 없다. 이러한 이유 때문에 null을 할당 할 수 있는 Nullable 타입을 지원한다. Nullable 타입은 Value 값을 갖고 있으면서 NULL 상태를 체크할 수 있는 HasValue를 함께 가지고 있다 사용법 타입 옆에 ?를 입력하는 것으로 할 수있다. int? nullTypeInt; bool? nullTypeBool; int?[] nullTypeArray = new int?[100]; public class NullableCheck { public bool NullCheck(int? .. 더보기
C# Anonymous Method Anonymous Method(무명 메서드) 개요 무명메서드를 하기위해서는 Delegate를 알아야 할 필요가 있다. 1.Delegate 메서드를 참조하는 변수이다. 델리게이트는 메서드를 대신해서 호출하는 역할을 한다. 하나의 Delegate로 여러 메서드를 호출할 수 있다. public delegate int CalDelegate(int a, int b); //델리게이트 선언 public class Anonymous { // 델리게이트로 덧셈할 메서드 public int Plus(int operandA, int operandB) { return operandA + operandB; } // 뺄셈할 메서드 public int Minus(int operandA, int operandB) { return o.. 더보기
C# Generic Generics 정의 제네릭이 라는 것은 자료형에 일반화된 프로그래밍 기법을 의미한다. 어떠한 자료형도 받아서 처리할 수 잇는 클래스나 메소드를 생성하는 기법 여러 데이터셋을 한번에 묶어서 넣는 List 같은 Collection에도 사용된다. 장점 타입에 구애 받지 않고 사용할 수 있어서 코드 수를 줄일 수 있다. 단점 제네릭을 사용함으로 기존과 다른 패턴이 됨으로 가독성이 떨어질 수 있다. namespace OjtTest { class Generic { public T Data { get; set;} // 제네릭을 사용한 클래스 } class NonGeneric //제네릭 안사용한 클래스 { public int IData { get; set; } public String SData { get; set;.. 더보기
C# -기초- 회사를 입사하게 되면서 아무래도 게임회사다 보니 Server Tool같은걸 C# 이나 C계열로 하게 되었다그래서 C#공부를 하는 중 우선 C#은 자바랑 비슷하다Garbage Collector가 있어서 자동으로 메모리를 할당 해제를 해주는거시 큰장점!! ! Class 구조가 기본Namespace Application 01 Interface Inter Class T Class A : T , Inter // T를 상속 INTER 라는 인터페이스 { public int P { get; set; } // 이렇게 하면 getter , setter를 쉽게 만들수 있는듯해public void mess(){} //기본 메서드 }Class main{static void main(String[] args){A a = new.. 더보기