반응형

전체 글

(C#) 메서드 오버로딩 method overloadding

메서드 오버로딩은 객체지향 프로그램에서 매개변수의 개수를 달리하거나 타입을 다르게 해서 같은 이름의 메서드를 여러개 정의해서 사용할 수 있게 하는 개념입니다. 아래의 Calculator 클래스에는 같은 이름의 Add 메서드가 3개 정의되어 있습니다. 메서드 오버로딩 매개 변수의 개수를 다르게 한다. 매개 변수의 타입(type)을 다르게 한다. (주의) 메서드의 반환형을 다르게 해서 오버로딩을 구현할 수 없다. class Calculator { public int Add(int a, int b) { return a + b; } public int Add(int a, int b, int c) { return a + b + c; } public double Add(double a, double b) { ret..

C#/C#_기초강의 2023.04.27

(C# ASP.NET) 웹폼(Web Form) 시작하기 : 따라하기

C#으로 ASP.NET 웹폼을 시작하는 방법을 설명합니다. 아마 웹폼을 시작할려는 분은 C#의 초보자는 아니고 다음과 같은 경험 또는 실력이 있어야 할 겁니다. 윈폼 프로그램을 어느정도 잘 한다. HTML, CSS로 웹 페이지를 만들 수 있다. 윈폼에서 데이터베이스 프로그램을 만들 수 있다. 1. 먼저 비주얼스튜디오에서 ASP.NET 개발 도구가 설치되어 있어야 합니다. 비주얼스튜디오를 시작합니다. [도구] 메뉴에서 "도구 및 기능 가져오기"를 선택합니다. 2. "ASP.NET 및 웹 개발"을 체크하고, 설치 세부 정보에서 ".NET Framework 프로젝트 및 항목 템플릿"도 선택합니다. 우측 하단의 [수정] 버튼을 누르고 설치합니다. ASP.NET 앱 간단한 예제로 첫 번째 ASP.NET 웹폼 프로..

C#_ASP.NET 2023.04.25

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