반응형

C#

(C#) 1차원 배열의 요소를 뒤로 1칸씩 이동하기

다음 코드는 1차원 배열의 요소를 뒤로 1칸씩 이동시키는 C# 코드입니다. 맨 뒤의 요소는 맨 앞으로 이동시킵니다. using System; namespace ConsoleApp1 { internal class Program { static void Main(string[] args) { int[] arr = { 1, 2, 3, 4, 5 }; // 마지막 요소의 값 보관 int temp = arr[arr.Length - 1]; for (int i = arr.Length - 1; i > 0; i--) { arr[i] = arr[i - 1]; } // 보관된 마지막 요소의 값을 맨 처음으로 이동 arr[0] = temp; foreach (int n in arr) { Console.Write(n + " ");..

C#/C#_기초강의 2023.04.24

(C#) 인쇄: 인쇄 미리보기 - PrintPreviewDialog ...

C#에서 인쇄와 관련된 컨트롤에는 다음과 같은 것들이 있습니다. PageSetupDialog 페이지 설정 대화 상자(용지, 방향, 여백 등) PrintDialog 인쇄 옵션을 선택할 수 있는 대화상자 (프린트 선택, 매수, 페이지 방향) PrintDocument 프린터로 출력을 보낼 개체 정의 PrintPreviewControl 인쇄 미리보기 대화상자 (대화상자나 버튼은 없다.) PrintPreviewDialog 인쇄 미리보기 대화상자 다음 예제는 "인쇄 미리보기" 대화상자에 텍스트 파일을 출력하는 예제입니다. 예제 1 1. 프로젝트를 생성합니다. Windows Forms 앱(.NET Framework) 2. 도구 상자에서 다음과 같은 컨트롤을 가져옵니다. 버튼 1개, PrintDocument 1개, P..

C# 2023.04.24

(C#) Linq, 구조체(struct), List<T> 응용: 나이 순으로 정렬하기

다음과 같은 문제를 생각해 보겠습니다. 10명의 사람 정보에는 이름과 나이가 있습니다. 일반적인 배열을 사용한다고 가정해 보면 다음과 같이 정의할 수 있습니다. 이름은 문자열(string)이고, 나이는 정수(int) 형식입니다. 이 데이터를 배열을 이용해서 나이순으로 정렬해서 출력하는 것을 생각해 보십시오. C# 에서 제공하는 Array.Sort() 메서드를 사용할 수 없습니다. 아마 버블 정렬(bubble sort) 또는 선택 정렬(selection sort) 등의 알고리즘으로 복잡하게 표현을 해야 할 수 있습니다. 이 경우는 struct로 이름과 나이를 한 개의 자료형으로 묶고, Linq를 이용해서 쉽게 표현할 수 있습니다. 사람(Person)을 표현하는 구조체를 다음과 같이 선언합니다. intern..

C# 2023.04.24

(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
반응형