C#/프로그래밍 고급

Linq는 다양하게 응용이 가능하지만 그 중 대표적으로 XML와 결합할 수 있습니다.  XML은 데이터를 나타내는 데 사용되는 다목적 마크업 언어입니다.XML의 기본 용어와 규칙으르 살펴보겠습니다. XML은 요소(Element)라고 부르는 태그(Tag)로 구성됩니다.내용이 있는 태그 : 내용 내용이 없는 태그 :  XML 태그는 속성으로 추가적인 값을 가질 수 있습니다.내용이 있는 태그 : 내용 내용이 없는 태그 :  다음과 같은 형태로 계층 구조를 만들게 되는데 최상위에는 요소가 하나만 올 수 있습니다. 윤인성 서울 연하진 대구     웹에서 XML 데이터를 가져올 때는 XElement.Load() 메서드를 사용합니다.XE..
C#은 다음과 같은 형식으로 클래스를 만들지 않아도 객체를 생성할 수 있습니다. 이처럼 클래스 이름 없이 생성하는 객체를 익명 객체라고 부릅니다.new { = , = }; 일반적으로 자주 사용하지는 않지만 Linq와 함께 사용할 때 굉장히 큰 효과를 발휘합니다. 다음 코드는 Linq의 select 구문에 익명 객체를 활용했습니다. 클래스를 따로 선언하지 않고도 객체의 배열을 만들고 활용합니다.static void Main(string[] args){ List input = new List() { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; var output = from item in input where item % 2 == 0..
Linq(Language-Intergrated Query)는 컬렉션 형태의 데이터(간단하게 리스트)를 쉽게 다루고자, SQL을 본따 만든 구문입니다.Linq를 사용하면 C# 객체의 집합을 쉽게 관리할 수 있으며, SQL 서버와 함께 연동해서 데이터베이스 관리를 간단하게 할 수도 있습니다. 아래는 데이터를 선별하는 정형화된 코드입니다.// 입력과 출력을 나타내는 리스트를 생성합니다.List input = new List() { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };List output = new List();// 입력을 나타내는 리스트에 반복을 적용합니다.foreach(var item in input){ if(item %= 2 == 0) { // 출력을 나타내는 ..
C#에서 이벤트는 클래스나 객체가 다른 클래스나 객체에 대한 통지를 보내는 데 사용됩니다.이는 객체 지향 프로그래밍에서 중요한 개념 중 하나이며, 특히 이벤트 기반 프로그래밍에서 매우 유용하게 사용됩니다.또한 이벤트는 특수한 형태의 delegate 입니다.이벤트의 추가(+=) 및제거(-=)만 가능하고 할당이 불가능합니다. ( = 로 이벤트 할당 불가)   객체에 특정 작업의 실행을 알리는 메시지, 예를 들면 사용자와의 인터랙션(Interaction)과 같은 처리를 말합니다.ex) 버튼을 터치했을 경우나 속성값 변경 등의 사건. 이벤트는 일반적으로 Delegate model을 기반으로 하며, 이는 관찰자 디자인 패턴(Observer Design Pattern)을 따릅니다.  (Observer Design ..
델리게이터를 응용하여 사용하는 몇 가지 방법을 알아보겠습니다. [콜백 메서드] 델리게이터는 콜백 메서드를 구현할 때 유용합니다. 콜백 메서드를 간단하게 정의하면 매개변수로 전달하는 메서드입니다.예를 들어, 비동기 작업이 완료된 후 특정 메서드를 호출할 수 있습니다. 기본적으로 다음 형태를 따릅니다.public delegate void CustomDelegate(); // 델리게이터 선언public void Method(CustomDelegate customDelegate){ // 매개변수로 전달된 델리게이터(메서드)를 호출합니다. CustomDelegate();} 두 가지 예제를 살펴보겠습니다.// 콜백 메서드 예제 1using System;using System.Threading;publi..
자주 사용되는 .NET에서 제공되는 델리게이터가 있습니다. Func 델리게이터와 Action 델리게이터에 대해 알아보겠습니다  [Func 델리게이터]Func 델리게이터는 .NET에서 제공하는 일반 델리게이터로, 입력 매개변수를 받아 결과를 반환하는 메서드를 참조할 수 있도록 합니다.Func 델리게이터는 0개부터 16개까지의 입력 매개변수를 받을 수 있으며, 마지막 형식 매개변수는 항상 반환 형식을 나타냅니다.  Func: 매개변수가 없고, TResult를 반환합니다.Func: 하나의 매개변수 T1을 받고, TResult를 반환합니다.Func: 두 개의 매개변수 T1과 T2를 받고, TResult를 반환합니다....Func: 최대 16개의 매개변수를 받고, TResult를 반환합니다.  using Syst..
C#에서 람다식(Lambda Expression)은 익명 메서드를 간결하게 표현하는 구문입니다. 람다식은 코드의 가독성을 높이고, 특히 델리게이터나 LINQ 쿼리와 함께 사용할 때 매우 유용합니다. 람다식의 기본 형태는 다음과 같습니다:(parameters) => expression 또는(parameters) => { statements } 여기서 parameters는 입력 매개변수이고, =>는 "goes to"를 의미하며, expression 또는 { statements }는 람다식의 본문입니다.  다음은 두 개의 숫자를 더하는 람다식을 사용하는 예제입니다.using System;class Program{ static void Main(string[] args) { // Func..
델리게이터(Delegate)는 대리자라고도 하며 메서드를 찹조하는 타입입니다.함수 포인터나 콜백과 동일한 동작으로 delegate를 호출하면 참조하고 있는 메서드가 호출됩니다.참조하는 함수의 반환 형식 및 매개변수를 사용하여 선언합니다.public delegate [반환형식] [이름] (매개변수) 델리게이터는 클래스와 같은 자료형으로 다음과 같은 방법으로 사용합니다. 그리고 이것을 변수로 만들어 초기화할 떄 사용하는 것이 메서드 이름, 무명 델리게이터, 람다입니다. 용어와 사용 위치를 확실하게 구분해야 합니다. 우선 델리게이터의 선언과 초기화하는 코드를 살펴보겠습니다.// 클래스 외부에 선언할 수 있습니다.// public delegate void TestDelegateA();class Program{ ..
예외가 발생하면 어떤 예외가 발생했는지와 관련된 정보를 전달해주면 편리합니다. 이러한 기능을 수행하게 하는 것이 예외 객체입니다.예외 객체는 다음과 같이 catch 구문의 괄호 안에 들어있는 변수를 나타냅니다.try{}catch(Exception exception) // Exception 클래스의 인스턴스로 예외 객체라고 부릅니다.{ } 예외 객체의 속성과 메서드를 몇 가지 사용해서 예외와 관련된 정보를 출력해봅니다.static void Main(string[] args){ Console.Write("입력 : " ); string input = Console.ReadLine(); try { int index = int.Parse(input); ..
프로그램이 실행되는 동안 문제가 발생하면 프로그램이 자동으로 중단됩니다. 이렇게 실행중에 발생한 오류를 예외(Exception)라고 부르고 이런 오류를 대처할 수 있게 하는 것을 예외 처리라고 부릅니다. 프로그램이 컴파일조차 안 되게 하는 문법적인 오류는 예외가 아닙니다.이러한 경우는 컴파일 시점 오류 또는 문법 오류라고 부릅니다.  [고급 예외 처리]고급 예외 처리는 try 키워드, catch 키워드, finally 키워드로 예외를 처리하는 방법입니다.이를 try catch finally 구문이라고 부르고 형식은 다음과 같습니다.try{ // 예외가 발생하면}catch(Exception exception){ // 여기서 처리합니다.}finally{ // 여기는 무조건 실행합니다.} ca..
tita
'C#/프로그래밍 고급' 카테고리의 글 목록