반응형

전체 글

(C#) LINQ(Language-Integrated Query) 링크 기초

LINQ는 Language-Integrated Query의 약어로 "통합된 데이터 쿼리어"의 의미입니다. 배열 또는 리스트 등 컬렉션 데이터를 가공할 때 편리하게 사용될 수 있습니다. namespace namespace: System.Linq; Linq: 확장 메서드 Linq에서는 다음과 같은 확장 메서드를 제공합니다. Sum() 합 Average() 평균 Count() 개수 Max() 최대값 Min() 최소값 private void button1_Click(object sender, EventArgs e) { int[] a = { 4, 1, 5, 2, 3 }; a.Sum(); listBox1.Items.Add(a.Sum()); listBox1.Items.Add(a.Count()); listBox1.It..

C#/C#_기초강의 2023.04.23

(C#) 람다식(Lambda expression), 화살표 연산자(=>) 기초

람다식에 대해 알아봅니다. 람다식의 일반 구문은 다음과 같습니다. 람다 식 member => expression; 예제 1 람다식(=>)을 이용해서 메서드를 간단하게 표현할 수 있습니다. internal class Program { static void Hi() { Console.WriteLine("안녕하세요!"); } static void Main(string[] args) { Hi(); } } 위 코드를 람다식을 이용해서 다음과 같이 표현할 수 있습니다. internal class Program { static void Hi() => Console.WriteLine("안녕하세요!"); static void Main(string[] args) { Hi(); } } 예제 2 매개변수를 갖는 람다식을 작성..

C#/C#_기초강의 2023.04.23

(C#) WebBrowser: 웹 브라우저 만들기

WebBrowser 컨트롤을 이용해서 웹브라우저를 만드는 코드입니다. 1. 프로젝트를 생성합니다. Windows Forms 앱(.NET Framework) 2. 폼을 디자인합니다. 메뉴 및 도구 모음 - ToolStrip WebBrowser -- Internet Explorer를 지원하는 컨트롤입니다. ToolsStrip에는 TextBox 1개, 버튼 5개를 아래와 같이 배치합니다. 버튼에 사용할 이미지는 아래 링크에서 다운받아서 사용할 수 있습니다. (강의용) 이미지(image), 아이콘(icon) 몇 가지 (coding-abc.kr) 홈 버튼은 "네이버"로 설정했습니다. 각 컨트롤의 이름은 소스 코드를 참고해서 작성하거나, 소스를 수정해서 오류가 없도록 합니다. using System; //using..

C# 2023.04.23

(C#) List<T> 리스트 제네릭 클래스(Generic Class)

List 클래스는 인덱스로 액세스할 수 있는 강력한 형식의 개체 목록을 나타냅니다. 목록의 검색, 정렬 및 조작에 사용할 수 있는 메서드와 속성을 제공합니다. 네임스페이스: System.Collections.Generic List 클래스는 다음과 같은 메서드와 속성이 있습니다. 메서드 또는 속성 설명 Add(item) 항목(item)을 맨 뒤에 추가합니다. Insert(int index, item) 항목을 index로 설정된 위치에 삽입합니다. Count 항목의 개수를 나타냅니다. Clear() 모든 요소를 제거합니다. Contains(item) bool. 항목이 있는지 여부를 나타냅니다. Remove(item) 첫 번째로 나타나는 item를 제거합니다. RemoveAt(int index) Index 번..

C#/C#_기초강의 2023.04.23

(C#) 웹 크롤링: 웹사이트 긁어오기

웹사이트를 그대로 긁어오는 C# 코드입니다. WebRequest 클래스 URI(Uniform Resource Identifier)에 대한 요청을 만듭니다. 인터넷에서 데이터에 액세스하기 위한 NET의 요청/응답 모델입니다. WebResponse 클래스 URI(Uniform Resource Identifier)에서 응답을 제공합니다. 1. 프로젝트를 생성합니다. Windows Forms 앱(.NET Framework) 2. 폼에 컨트롤을 배치합니다. ToolStrip: TextBox 1개, Button 1개 RitchTextBox 1개 코드 참고해서 속성을 변경합니다. using System; //using System.Collections.Generic; //using System.ComponentMod..

C# 2023.04.23

(C#) 네트워크 프로그램, 1:1 채팅 프로그램

TcpListener 클래스를 이용해서 서버 기능을 구현합니다. TcpClient 클래스를 이용해서 클라이언트 기능을 구현합니다. 아래의 코드는 1:1 채팅이 가능한 윈폼(Windows Forms 앱(.NET Framework)) 프로그램의 코드입니다. 서버 프로그램 using System; using System.Windows.Forms; using System.Net; using System.Net.Sockets; using System.Threading; using System.IO; namespace 채팅11_서버 { public partial class Form1 : Form { TcpListener server; TcpClient client; StreamReader reader; Stream..

C# 2023.04.23

(C#) 델리게이트(Delegate) 기초

델리게이트(대리자. delegate)는 메서드에 대한 참조를 나타내는 형식입니다. "대리자". "대신 처리해 주는 것"의 의미입니다. 델리게이트를 이용해서 다른 메서드를 호출할 수 있습니다. 대리자의 인스턴스를 통해서 메서드를 호출할 수 있습니다. 호출할 메서드의 반환형과 매개 변수의 개수와 자료형이 일치해야 합니다. 클래스의 외부나 내부에 선언할 수 있습니다. 한 번의 델리게이트 호출로 여러 메서드를 호출할 수 있습니다. 이벤트 처리기, 스레드 처리 등 다양하게 활용될 수 있습니다. 다음은 delegate의 선언 예를 보인 것입니다. public delegate int Calc(int a, int b); 델이게이트의 선언은 호출할 메서드의 반환값, 매개 변수를 일치시켜야 합니다. public int P..

C#/C#_기초강의 2023.04.23

(C#) listView 컨트롤 자세히 보기(View.Details) 모드

C#의 listView(리스트뷰) 컨트롤은 윈도우 탐색기의 보기 모드처럼 여러 가지 모양의 보기 모드를 지원합니다. 여기에서는 자세히 보기 모드를 이용한 간단한 예제를 만들어 보겠습니다. 1. 프로젝트를 생성합니다. Windows Forms 앱(.NET Framework) 2. 리스트뷰 컨트롤을 1개 폼에 배치하고, Form_Load 이벤트에 다음과 같은 코드를 작성하고 실행합니다. private void Form1_Load(object sender, EventArgs e) { listView1.View = View.Details; listView1.GridLines = true; listView1.FullRowSelect = true; listView1.Columns.Add("순서", 50, Horiz..

C# 2023.04.23

(C#) 2차원 배열 GetLength(0), GetLength(1)

2차원 배열의 선언 2차원 배열은 행과 열을 갖는 형태의 배열입니다. 다음 코드는 4행 3열의 2차원 배열을 선언하는 예입니다. int[,] a = new int[4,3]; // 4행 3열 int[,] a; a = new int[3,4]; 2차원 배열의 초기화 다음과 같은 형태로 2차원 배열을 선언하고 초기화를 할 수 있습니다. int[,] a = new int[4, 3] { { 1, 2, 3 }, { 4, 5, 6 }, { 7, 8, 9 }, {10,11,12 } }; int[,] b = { { 10, 11, 12 }, { 13, 14, 15 }, { 16, 17, 18 }, { 19, 20, 21 } }; 다음과 같이 2차원 배열의 특정 배열 요소에 값을 할당합니다. a[2,3] = 100; // G..

C#/C#_기초강의 2023.04.23

(C#) 1차원 배열 선언과 초기화, 크기 변경 Array.Resize

배열이란? 같은형식의 자료를 여러개 저장할 수 있는 자료 구조입니다. 배열은 컴퓨터 메모리에 연속적으로 기억 공간을 할당합니다. C#에서 1차원 배열은 다음과 같이 선언합니다. int[] a; string[] b; a = new int[10]; // 10개의 int형 자료를 저장할 배열 b = new string[5]; // 5개의 string을 저장할 배열 위의 코드는 다음과 같이 선언과 동시에 베열요소의 크기를 선언할 수 있습니다. int[] a = new int[10]; string[] b = new string[5]; a배열의 n개의 요소를 선언하면 요소의 개수는 0, 1,2,3,, n-1까지 n개가 만들어 집니다. 배열의 선언과 동시에 값을 할당하기 위해서는 다음과 같이 선언합니다. int[] ..

C#/C#_기초강의 2023.04.23
반응형