C#(65)
-
0323 익명 함수
메서드를 매개 변수로 전달할 수 있다. 람다 식을 사용한다. 람다 식 => 람다 선언 연산자를 사용하여 본문에서 람다의 매개 변수 목록을 구분 식에 {} 붙어있으면 문 람다 ; 대리자+익명함수(lambda) public App() { Console.WriteLine("App"); Action sayHello = this.SayHello; Action sayhello = () => { Console.WriteLine("Hello Word "); }; //대리자 초기화 Action SendMessage = this.SendMessage; Action sendMessage = (message) => { Console.WriteLine(message); }; //대리자 호출 sendMessage("안녕하세요")..
2021.03.23 -
0322 delegate 연습
delegate int Delelegate(int a, int b); class Program { static int Plus(int a, int b) { return a + b; } static void Main(string[] args) { Delelegate pd1 = Plus; Delelegate pd2 = delegate (int a, int b) { return a / b; }; Console.WriteLine(pd1(5, 10)); Console.WriteLine(pd2(10, 5)); } } public class App { public App() { //1. 기존 메서드 지정 Action action1 = Print; action1("1.기본 메서드 지정 방식"); //2. 무명 메서드 ..
2021.03.23 -
0322 대리자 delegate★★
대리자: 특정 매개변수 목록 및 반환 형식이 있는 메서드에 대한 참조 형식 대리자를 인스턴스화 할 수 있고, 모든 메서드가 있는 인스턴스를 반환 형식에 연결할 수 있다. 대리자를 통해 메서드를 호출할 수 있다. 대리자는 메서드를 다른 메서드에 매개 변수로 전달 delegate 키워드 사용, 반환 형식, 이름, 매개변수 엑세스 가능한 클래스/대리자 형식과 일치하는 구조의 모든 메서드는 반환형식+매개변수가 일치해야 한다. 대리자는 콜백 메서드 정의에 이상적이다. ※ 콜백: 다른 코드의 인수로 넘겨주는 실행 가능한 코드 매개변수를 메서드로 넘겨받을 수 있다. 대리자를 선언합니다. public delegate void Del(string message); public class App { //1. delegat..
2021.03.22 -
0321 기초 복습!
while 반복문 / 정확한 반복 횟수를 알 수 없을 때 쓴다. (괄호) 안 조건문이 true일 때 수식을 수행한다. 연산자 && (And), || (Or), ! (Not) int val = (a > b) ? a : b; [설명] a가 b보다 크면 val에 a 값을 대입하고, 같거나 작으면 b 값을 대입한다 매서드(반환형식) 모든 작업을 수행하고 반환받고자 하는 데이터 타입 매서드(return) 수행한 결과인 반환값을 호출한 메소드로 전달 매서드(매개변수ㅇ) 작업을 수행하는데 필요한 값들을 내부로 전달하기 위해 사용되는 변수 매서드 오버로딩 메소드 명이 같아도 매개변수가 다르면 다른 메소드로 취급 매서드 오버라이딩 virtual, override 상속 받은 메소드에 재정의를 할 수 있다. 클래스 참조 형..
2021.03.19 -
0319 확장 메서드 extension method
다시 첨파일하거나 원래 형식을 수정하지 않고도 기존 형식을 정적 메서드 split 분할해서 배열 형식으로 반환 /문자열이나 유니코드 문자배열로 구분한다./정적 static 형식 자체에 속하는 정적 맴버를 선언할 수 있다. public class App { //생성자 public App() { string s = "Hello Extension Methods"; int i = s.WordCount(); int a = 10; int b = 20; int result = a.Sum(b); Console.WriteLine(result); } } public static class MyExtensions { public static int WordCount(this String str) { return str.Sp..
2021.03.19 -
0319 Partial Class 분할 클래스
둘 이상의 소스 파일에 분할할 수 있다. 소스 파일을 다시 만들지 않고도 클래스에 코드를 추가할 수 있다. namespace Study06 { public class App { //생성자 public App() { Console.WriteLine("App"); Employee e = new Employee(); e.DoWork(); e.GoToLunch(); } } } namespace Study06 { public partial class Employee { //생성자 public Employee() { } public void GoToLunch() { } }
2021.03.19