728x90 반응형 분류 전체보기93 serializable Study about serialization 복합 데이터 형식 쓰기와 읽기는 그 형식이 가진 필드 값의 저장순서 정의 후, 이 순서대로 저장/읽기 코드 작성 이를 위해 직렬화 도입 객체상태를 메모리나 영구 저장 가능한 0과 1의 순서로 바꾸는 것이다. [Serializable] class NameCard { public string Name; public string Phone; public int Age; } static void Main() { // 직렬화 Stream ws = new FileStream("a.dat", FileMode.Create); BinaryFormatter serializer = new BinaryFormatter(); NameCard nc = new NameCard(); n.. 2021. 8. 26. reflection Study about reflection and attributes reflection 프로그램 실행 중 객체의 형식 이름, 프로퍼티 목록, 메소드 목록, 필드, 이벤트 목록 등 객체의 형식 정보를 들여다 볼 수 있는 기능 형식의 이름만 알고있으면 동적으로 인스턴스를 만들고 인스턴스의 메소드 호출 가능 새로운 데이터 형식을 동적으로 만들수있다. 모든 데이터 형식이 물려받은 Object 형식의 메소드를 알자 리플렉션을 이용해서 객체 생성하고 이용 코드 안에서 runtime에 특정 형식의 인스턴스를 만들면 프로그램이 동적으로 동작하게 구성할 수 있다. 형식 내보내기 프로그램 실행중 새 형식을 만들어 CLR의 메모리에 "내보내는" 기능 namespace EmitTest { public class MainAPP.. 2021. 8. 26. LINQ Study about LINQ LINQ의 기본 from : 어떤 데이터 집합에서 찾을 것인가? where : 어떤 값의 데이터를 찾을 것인가? select : 어떤 항목을 추출할 것인가? group by로 데이터 분류 static void Main(string[] args) { class Profile { public string Name { get; set; } public int Height { get; set; } } static void Main(string[] args) { Profile[] arrProfile = { new Profile(){Name = "Hugh", Height = 171}, new Profile(){Name = "John", Height = 182}, new Profile(.. 2021. 8. 26. lambda Study about lambda 람다식 사용 예제 delegate int Calculate(int a, int b); static void Main(string[] args) { Calculate calc = (int a, int b) => a + b; Console.WirteLit($"{3} + {4} : {calc(3,4)}"); } anonymous function 만들기 위해 사용 무명함수는 람다식으로 만든 익명 메소드 매개_변수_목록 => 식 => : 입력 연산자 식형식 문형식 람다식 delegate void DoSomething(); static void Main() { DoSomething DoIt = () => { Console.WriteLine("what"); Console.WriteL.. 2021. 8. 26. dynamic Study about dynamic 컴파일러가 dynamic 키워드를 만나면 형식 검사를 실행때로 미룸 class Duck { public void Walk() { Console.WriteLine(this.GetType() + "Walk"); } public void Swim() { Console.WriteLine(this.GetType() + "Swim"); } public void Quack() { Console.WriteLine(this.GetType() + "Quack"); } } class Mallard : Duck {} class Robot { public void Walk() { Console.WriteLine("Robot.Walk"); } public void Swim() { Console.. 2021. 8. 26. property Study about property 은닉성과 편의성을 모두 잡는 방법 Get/Set 접근자, value 사용 class MyClass { private int myField; public int MyField { get { return myField; } set { myField = value; } } } 읽기전용 프로퍼티는 Get 접근자만 구현하기! 자동 구현 프로프티 public class NameCard { private string name; private string phoneNumber; /* public string Name { get { return name; } set { name = value; } } */ public string Name { get; set; } public str.. 2021. 8. 25. 이전 1 ··· 8 9 10 11 12 13 14 ··· 16 다음 728x90 반응형