반응형

전체 글

(C#) 명명된 인수 named arguments

메서드(method)를 호출할 때, 매개변수의 목록은 순서대로 전달됩니다. 그러나 순서를 일치시키지 않고 이름을 지정해서 인수를 전달할 수 있습니다. 이를 명명된 인수(named arguments)라고 합니다. 이 방법은 메서드 뿐만 아니라 인덱서, 생성자 및 대리자에 사용할 수 있습니다. 예를 들어, AddListBox 메서드가 다음과 같이 정의되어 있다고 가정해 보겠습니다. private void AddListBox(string name, int age) { listBox1.Items.Add("이름:" + name + ", 나이:" + age); } 위 메서드는 다음과 같이 인수의 순서를 일치시켜서 호출하게 됩니다. AddListBox("홍길동", 22); 그러나 메서드의 인수에 있는 이름을 지정하면..

C#/C#_기초강의 2023.05.01

(C#) ref, out 참조로 인수 전달하기

메서드의 매개변수에 ref 키워드를 사용하면 값이 아니라 참조로 전달됨을 나타냅니다. 매서드의 매개 변수에 참조로 전달되는 또 하나의 키워드는 out입니다. ref와 out의 차이는 매개 변수를 호출하기 전에 ref는 반드시 변수의 값이 초기화 되어 있어야 하지만 out 키워드는 변수의 값을 초기화 할 필요가 없습니다. 즉, out 키워드는 매개 변수로 처리결과를 받기만 할 때 사용될 수 있습니다. 다음 예제는 매개변수에 out를 이용해서 처리 결과를 받는 예제입니다. void Add(int x, int y, out int z) { z = x + y; } private void button1_Click(object sender, EventArgs e) { int a = 1, b = 2, c; Add(a,..

C#/C#_기초강의 2023.04.30

(C#) ref 참조에 의한 호출(call by reference)

ref 키워드는 변수가 참조를 나타내거나 다른 개체의 별칭임을 나타냅니다. 매개변수에 ref 키워드를 사용하면 인수가 값이 아니라 참조로 전달됨을 나타냅니다. 호출하는 쪽의 매개변수에 ref를 사용하면, 호출된 메서드에서도 ref로 받아야 하며, 이 경우 ref로 전달된 매개변수를 통해서 호출할 쪽의 지역 변수의 값을 변경할 수 있습니다. 다음 예제는 두 개의 값을 교환하는 swap 메서드의 예입니다. void swap(ref int x, ref int y) { int temp = x; x = y; y = x; } private void button1_Click(object sender, EventArgs e) { int a = 10, b = 20; swap(ref a, ref b); listBox1.I..

C#/C#_기초강의 2023.04.30

(C#) params 가변 개수의 메서드 매개변수 사용하기

params 키워드를 사용해서 메서드에 가변 개수의 인수 사용할 수 있습니다. 매개변수에 params가 사용되면 추가 매개 변수가 허용되지 않으며, params 키워드 하나만 메서드 선언에 사용할 수 있습니다. 또한 매개 변수는 1차원 배열이어야 합니다. 다음 코드는 매개 변수에 params 키워드를 사용한 C# 코드의 예제입니다. private int Add(params int[] list) { int sum = 0; for (int i = 0; i < list.Length; i++) sum += list[i]; return sum; } private void ParamsMethos(params object[] list) { for (int i = 0; i < list.Length; i++) listB..

C#/C#_기초강의 2023.04.29

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