3_c#/C#문법 11

C# LINQ

1. LINQ란? (Language Lintergrated Query)-C#언어에 통합된 데이터 질의 기능-프로그래밍에서 많은 부분을 차지하는 데이터 작업의 효율향상에 도움이 된다-데이터 질의란 데이터 집합에서 원하는 데이터를 찾는 작업-데이터 질의 기본요소( From/Where/Select : 어떤 데이터집합에서, 어떤 조건으로, 어떤 항목을)  2. from 절 3.where 절 4.orderby 절 5.select 절 6.group by 절 7.Join-두 데이터 원본을 연결하는 연산-각 데이터 원본에서 특정 필드가 일치하는 데이터끼리 연결-내부 조인 : 일종의 교집합; 두 데이터 원본 사이에서 일치하는 데이터만 연결하여 반환-외부 조인 : 한쪽 데이터 원본을 기준으로 삼은 상태에서 다른데이터 원본..

3_c#/C#문법 2024.12.29

C# 람다식

0.람다식이란함수를 만드는 방식 중 하나 정도로 이해하자.익명함수를 지칭하는 용어로 이름없이 내용물만 정의하는 방식이다.  1.람다식 형식//식 람다(매개변수목록) => 식//문 형식의 람다(매개변수목록) =>{ 문장1; 문장2; ...; 문장N;} 2.람다식으로 무명함수 정의하기  -무명함수 : 람다식으로 만드는 익명메소드  -무명함수를 작성하기 위해서는 먼저 대리자로 무명함수의 모습을 결정 delegate int Calculate(int a, int b);static void Main(string[] args){ Calculate calc = (int a, int b) => a+b; Console.WriteLine(calc(1,2));} delegate int Calculate ..

3_c#/C#문법 2024.11.20

C# Delegate: 대리자

1. 대리자  - 코드(메소드)를 대신 실행하는 객체  -메소드를 호출하듯 사용한다.  -단, 대리자가 실행할 코드는 컴파일 시점이 아닌 실행 시점에 결정   *대리자의 선언과 사용//한정자 delegate 반환형식 델리게이트이름 (매개변수_목록);private delegate int MyDelegate(int a,int b);MyDelegate Callback;Callback = new MyDelegate(Plus); //Callback 대리자를 이용하여 Plus 메소드를 호출Console.WriteLine(Callback(3,4)); //7출력Callback = new MyDelegate(Minus); //Callback 대리자를 이용하여 Minus 메소드를 호출Console.WriteLine(Cal..

3_c#/C#문법 2024.11.20

C# 일반화 프로그래밍

1. 일반화 프로그래밍의 개념  - 일반화 : 특수한 개념으로부터 공통된 개념을 찾아 묶는 것   *일반화 프로그래밍    - 데이터 형식 일반화를 이용하는 프로그래밍 방식    - 한 가지 코드를 다양한 데이터 형식에 활용한다. 2. 일반화 메소드    - 데이터 형식을 일반화한 메소드    - 메소드 이름 뒤에 형식 매개 변수(T)를 입력하여 작성한다.       (형식 매개변수가 꼭 T일 필요는 없다)    - 아래 코드의 int 부분을 범용적으로 만든 것이다.       - 이 일반화 메소드를 호출하는 방법 int[] a ={1,2,3}; int[] b ={1,2,3}; Copy (a,b); 3. 일반화 클래스  - 데이터 형식을 일반화한 클래스  - 클래스 이름 뒤에 형식 매개 변수를 입력하여 ..

3_c#/C#문법 2024.11.20

C# 배열, 컬렉션, 인덱서

1. 배열의 초기화 방법-기본 string[] arr= new string[3] {"a","b","c"}; -요소 개수 생략 string[] arr= new string[] {"a","b","c"};  -new 연산자, 형식, 요소개수 생략 string[] arr= {"a","b","c"};  2. System. Array 클래스  -모든 배열의 기반 클래스이며, 배열 그 자체를 나타낸다.  -배열을 보다 편리하게 다룰 수 있게 도와주는 유틸리티 메소드 제공  -정렬, 탐색, 크기 조정등의 기능 제공  3. 다차원 배열 - 2차원 배열  -배열의 세 가지 초기화 방법//행2 열3int [,] arr = new int [2,3] {{1,2,3},{4,5,6}}int [,] arr = new int [,] ..

3_c#/C#문법 2024.11.20

C# 프로퍼티

1.프로퍼티public 필드는 외부 객체에 의해 오염될 가능성을 열어둔다.자바와 같은 언어에서는 Get/Set 메소드를 이용하여 내부 필드에 접근한다.C#에서는 Get/Set메소드와 프로퍼티를 제공한다.(프로퍼티는 Get/Set과 같은 용도)   *public 필드를 다루듯 내부 필드에 접근하게 해주는 맴버  *외부에 데이터를 출력할 떄는 get접근자  *내부에 데이터를 입력할 때는 set접근자 [프로퍼티 선언]class MyClass{ private int myField; public int MyField{ //이것이 프로퍼티이다. 프로퍼티를 이용하여 private 멤버에 접근한다. get{ return myField; } set{ ..

3_c#/C#문법 2024.11.20

C# TXT파일 접근 - StreamReader, StreamWriter

[Notice] -DoriDori님의 C# 강의를 바탕으로 한다. -강의의 모든 내용을 정리한다는 것 보다는 필요한 부분만 발췌해서 정리할 것이다. -소스코드도 일부만 발췌한다. 0.UI 정보 - Txt 파일 읽어오기 버튼 - Name: btnLoad - Txt 파일 저장하기 버튼 - Name: btnSave - Txt 파일 내용 보여주는 박스 - Name : tboxConfigData 1. StreamReader, StreamWriter *텍스트 파일을 읽거나 쓰기 위해 사용한다 *불러 올 때는 StreamReader, 저장 할 때는 StreamWrite Class 사용한다 *System.IO.File.Class 에서 비슷한 기능의 함수를 제공한다. - File.ReadAllText("경로"); // ..

3_c#/C#문법 2023.07.18

C# 클래스

더보기 1. 객체지향 프로그래밍 2. 클래스 선언과 객체의 생성 3.생성자와 종료자 4.정적 필드와 메소드 5. 객체 복사하기 6. this 키워드 7.분할 클래스 8.접근한정자 9. is와 as. 클래스의 형식변환 10. 오버라이딩과 다형성 11. 확장메소드 12. 메소드 숨기기 13. 오버라이딩 봉인 14. 읽기 전용 필드 15. 중첩 클래스 16. 구조체 17. 튜플 1. 객체지향 프로그래밍 *객체지향 프로그래밍 : 코드내의 모든 것을 객체로 표현하고자 하는 프로그래밍 패러다임 *객체는 1)속성과 2)기능을 갖는다. 속성=데이터, 기능=메소드 *클래스 : 객체를 만들기 위한 청사진 클래스가 설계도라면, 객체는 설계도로 만든 제품이다. 객체는 인스턴스라고도 한다 2. 클래스 선언과 객체의 생성 *클래..

3_c#/C#문법 2023.07.15

C# 예외 처리 : 개념 정리

0. 예외 처리 - 예외가 프로그램의 오류나 다운으로 이어지지 않도록 적절하게 처리하는 것 1. 예외 처리가 필요한 이유 - 아래 예제를 보자. 처리되지 않은 예외는 CLR이 출력한 것인데, 잘못된 인덱스로 배열의 요소에 접근할 경우에 배열 객체가 이 문제의 정보를 IndexOutOfRangeException의 객체에 담아서 Main() 메소드로 던진다. Main 메소드는 이 예외를 처리할 방법이 없기 때문에 CLR에 던지게 되고, CLR은 예외 객체에 담긴 내용을 사용자에게 출력한 후 프로그램을 강제로 종료한다. - 프로그램은 예외에 대처할 수 있어야한다. 그러하지 않는다면 강제로 종료될 것이다. 그래서 예외 처리가 필요하다. using System; namespace PG { class MainApp..

3_c#/C#문법 2023.07.13