C# 컴파일러에는 별도의 전처리기가 없습니다. 그러나 지시문이 있는 것처럼 처리됩니다. C#에서 전처리기 지시문은 조건부 컴파일을 돕는 데 사용됩니다. 전처리기 지시문은 실제 컴파일이 시작되기 전에 정보를 전처리하도록 컴파일러에 지시합니다. 다음은 C#의 전처리기 지시문입니다 − 시니어 번호 전처리기 지침 및 설명 1 #define 기호라고 하는 일련의 문자를 정의합니다. 2 #undef 기호를 정의 해제할 수 있습니다. 3 #if 이를 통해 기호 또는 기호를 테스트하여 true로 평가되는지 확인할 수 있습니
예외는 프로그램 실행 중에 발생하는 문제입니다. C# 예외는 0으로 나누려는 시도와 같이 프로그램이 실행되는 동안 발생하는 예외적인 상황에 대한 응답입니다. 자신의 예외를 정의하십시오. 사용자 정의 예외 클래스는 예외 클래스에서 파생됩니다. 다음은 예입니다 - 예 using System; namespace UserDefinedException { class TestFitness { static void Main(string[] args) {
ref 키워드를 사용하여 참조 매개변수를 선언합니다. 참조 매개변수는 변수의 메모리 위치에 대한 참조입니다. 참조로 매개변수를 전달할 때 값 매개변수와 달리 이러한 매개변수에 대한 새 저장 위치가 생성되지 않습니다. 참조 매개변수 선언 - public void swap(ref int x, ref int y) {} 배열 유형의 참조 매개변수 선언 - static void Display(ref int[] myArr) 다음은 C#에서 배열 유형의 ref 매개변수를 사용하는 방법을 보여주는 예입니다 - class TestRef { &
C#에서 재귀 메서드 호출을 재귀라고 합니다. 재귀를 사용하여 숫자의 거듭제곱을 계산하는 예를 살펴보겠습니다. 여기서 거듭제곱이 0과 같지 않으면 결국 재귀인 함수 호출이 발생합니다. - if (p!=0) { return (n * power(n, p - 1)); } 위의 n은 숫자 자체이며 아래 표시된 대로 모든 반복에서 거듭제곱이 감소합니다. - 예시 using System; using System.IO; public class Demo { public static void Ma
봉인된 키워드를 사용하는 C#의 봉인된 클래스는 상속할 수 없습니다. 같은 방법으로 sealing 키워드를 메소드에 추가할 수 있습니다. 메서드에 대해 C#에서 봉인된 수정자를 사용하면 메서드가 재정의하는 기능이 손실됩니다. 봉인된 메서드는 파생 클래스의 일부여야 하며 메서드는 재정의된 메서드여야 합니다. C#에서 봉인된 클래스의 예를 살펴보겠습니다 - 예시 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace
C# 정적 클래스는 인스턴스화할 수 없으며 정적 멤버만 가질 수 있습니다. C#의 정적 클래스는 봉인되어 있으며 인스턴스 생성자를 포함할 수 없습니다. 다음은 정적 클래스와 정적 멤버가 있는 예입니다. - 예 using System; public static class Demo { public static float PI = 3.14f; public static int calc(int n){return n*n;} } class Program { public
정적 생성자는 정적 한정자를 사용하여 선언된 생성자입니다. 클래스에서 실행되는 첫 번째 코드 블록입니다. 이를 통해 정적 생성자는 클래스의 수명 주기에서 한 번만 실행됩니다. 다음은 C#의 정적 생성자의 예입니다 − 예 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Difference { class Demo { static int val1; &n
정적 다형성은 컴파일 시간 동안 객체와 함수의 연결을 정적이라고 합니다. 정적 바인딩이라고도 합니다. C#은 정적 다형성, 즉 함수 오버로딩과 연산자 오버로딩을 구현하는 두 가지 기술을 제공합니다. 함수 오버로딩에 대해 알아보자. 동일한 범위에서 동일한 함수 이름에 대해 여러 정의를 가질 수 있습니다. 함수의 정의는 인수 목록의 인수 유형 및/또는 수에 따라 서로 달라야 합니다. 반환 유형만 다른 함수 선언은 오버로드할 수 없습니다. 다음은 완전한 예입니다 - 예시 using System; namespace Polymorp
C#의 구조체는 값 형식 데이터 형식입니다. 하나의 변수에 다양한 데이터 유형의 관련 데이터를 담을 수 있도록 도와줍니다. struct 키워드는 구조를 만드는 데 사용됩니다. C# 구조에는 다음과 같은 기능이 있습니다. - 구조에는 메서드, 필드, 인덱서, 속성, 연산자 메서드 및 이벤트가 있을 수 있습니다. 구조체는 정의된 생성자를 가질 수 있지만 소멸자는 가질 수 없습니다. 그러나 구조에 대한 기본 생성자를 정의할 수 없습니다. 기본 생성자는 자동으로 정의되며 변경할 수 없습니다. 클래스와 달리 구조체는 다른
인터페이스는 인터페이스의 구성원인 속성, 메서드 및 이벤트를 정의합니다. 인터페이스에는 멤버 선언만 포함됩니다. 멤버를 정의하는 것은 파생 클래스의 책임입니다. 파생 클래스가 따를 표준 구조를 제공하는 데 종종 도움이 됩니다. 인터페이스 멤버를 사용하여 C#에서 인터페이스를 선언하는 방법을 살펴보겠습니다. - public interface InterfaceName { // interface members } 다음은 C#에서 Interface를 사용하는 방법을 보여주는 예입니다 - 예 using System
객체 직렬화를 위해서는 아래 코드를 참조해야 합니다. 여기에서는 BinaryFormatter.Serialize(스트림, 참조) 메서드를 사용하여 샘플 개체를 직렬화했습니다. 여기에 생성자를 설정했습니다 - public Employee(int id, string name, int salary) { this.id = id; this.name = name; this.salary = salary; } 이제 파일 스트림을 설정하십시오 - FileStream fStrea
C# 예외는 클래스로 표시됩니다. C#의 예외 클래스는 주로 System.Exception 클래스에서 직접 또는 간접적으로 파생됩니다. 사용자 고유의 예외를 정의할 수도 있습니다. 사용자 정의 예외 클래스는 예외 클래스에서 파생됩니다. 다음은 예입니다 - 예 using System; namespace UserDefinedException { class TestTemperature { static void Main(string[] args) {
Jagged 배열은 배열의 배열입니다. 여기에서 요소에 액세스하려면 해당 특정 배열의 인덱스를 언급하기만 하면 됩니다. 여기에 5개의 정수 배열이 있는 들쭉날쭉한 배열이 있습니다 - int[][] a = new int[][]{new int[]{0,0},new int[]{1,2}, new int[]{2,4},new int[]{ 3, 6 }, new int[]{ 4, 8 } }; 세 번째 정수 배열의 요소에 액세스해야 한다고 가정해 보겠습니다. 이를 위해 - a[2][1] 위에서 들쭉날쭉한 배열에서 세 번째 배열의 첫 번째 요소에
다차원 배열에서 요소에 액세스하려면 원하는 요소에 대한 인덱스를 추가하기만 하면 됩니다(예:−). a[2,1] 위의 세 번째 행과 두 번째 열의 액세스 요소, 즉 out [3,4] 배열에서 아래와 같이 요소 3 - 0 0 1 2 2 4 3 6 논의한 내용을 살펴보고 2차원 배열의 요소에 액세스합니다. − 예시 using System; namespace Program { class Demo { static void Main(string[] args) {
소문자를 대문자로 변환하려면 C#에서 ToUpper() 메서드를 사용하십시오. 문자열이 −라고 가정해 보겠습니다. str = "david"; 위의 소문자 문자열을 대문자로 변환하려면 ToUpper() 메서드를 사용하십시오 - Console.WriteLine("Converted to UpperCase : {0}", str.ToUpper()); 다음은 C#에서 대소문자를 변환하는 코드입니다 - 예 using System; using System.Collections.Generic; using S
값 매개변수 값 매개변수는 인수의 실제 값을 함수의 형식 매개변수에 복사합니다. 이 경우 함수 내부의 매개변수에 대한 변경 사항은 인수에 영향을 미치지 않습니다. 이것은 메소드에 매개변수를 전달하기 위한 기본 메커니즘입니다. 이 메커니즘에서 메소드가 호출되면 각 값 매개변수에 대해 새 저장 위치가 생성됩니다. 실제 매개변수의 값이 복사됩니다. 따라서 메서드 내부의 매개변수에 대한 변경 사항은 인수에 영향을 미치지 않습니다. 참조 매개변수 참조 매개변수는 변수의 메모리 위치에 대한 참조입니다. 참조로 매개변수를 전달하면 값 매
삼각법 각도를 라디안으로 변환하려면 Math.PI/180을 곱하십시오. 도를 라디안으로 변환합니다. 다음은 코드입니다 - 예시 using System; class Program { static void Main() { Console.WriteLine(Math.Cos(45)); double res = Math.Cos(Math.PI * 45 / 180.0); Console.WriteLine(res
대문자를 소문자로 변환하려면 C#에서 ToLower() 메서드를 사용하십시오. 문자열이 −라고 가정해 보겠습니다. str = "TIM"; 위의 대문자 문자열을 소문자로 변환하려면 ToLower() 메서드를 사용하십시오 - Console.WriteLine("Converted to LowerCase : {0}", str.ToLower()); 다음은 C#에서 대소문자를 변환하는 코드입니다 - 예시 using System; using System.Collections.Generic; using Sy
직사각형 배열의 요소에 액세스하려면 요소를 가져오려는 인덱스를 설정하기만 하면 됩니다. 다차원 배열은 직사각형 배열이라고도 합니다. - a[0,1]; // second element 다음은 C#에서 직사각형 배열로 작업하고 요소에 액세스하는 방법을 보여주는 예입니다 - 예 using System; namespace Demo { class Program { static void Main(string[] args) {
Array 클래스는 C#의 모든 배열에 대한 기본 클래스입니다. System 네임스페이스에 정의되어 있습니다. 다음은 C#에서 Array 클래스의 메소드입니다 - Sr.No 방법 및 설명 1 지우기 요소 유형에 따라 Array의 요소 범위를 0, false 또는 null로 설정합니다. 2 복사(배열, 배열, Int32) 첫 번째 요소에서 시작하는 Array의 요소 범위를 복사하여 첫 번째 요소에서 시작하는 다른 Array에 붙여넣습니다. 길이는 32비트 정수로 지정됩니다. 3 CopyTo(배열, Int32) 현