Java에서 패키지의 대안으로 C# 언어에는 네임스페이스가 있습니다. 자바 패키지 패키지는 이름 충돌을 방지하고 액세스를 제어하며 클래스, 인터페이스, 열거 및 주석의 검색/찾기 및 사용을 보다 쉽게 하기 위해 Java에서 사용됩니다. C#의 네임스페이스 네임스페이스는 한 세트의 이름을 다른 세트와 별도로 유지하는 방법을 제공하기 위해 설계되었습니다. 한 네임스페이스에서 선언된 클래스 이름은 다른 네임스페이스에서 선언된 동일한 클래스 이름과 충돌하지 않습니다. 네임스페이스 정의는 네임스페이스 키워드 뒤에 네임스페이스 이름이
try 블록은 특정 예외가 활성화된 코드 블록을 식별합니다. 그 뒤에 하나 이상의 catch 블록이 옵니다. 시도{} 그와 함께 예외를 잡기 위해 catch 문도 설정해야 합니다. − try { // 예외를 일으키는 명령문 } catch( ExceptionName e1 ) { // 오류 처리 코드 } 다음은 예입니다 - 예시 클래스 데모 { int 결과; 데모() { 결과 =0; } 공개 무효 나눗셈(int val1, int val2) { 시도 { 결과 =val1 / val2; } catch (DivideByZeroExcepti
타이머를 설정하는 데 사용되는 네임스페이스는 System입니다. 타이머. Timer 클래스는 반복되는 이벤트를 생성하는 옵션과 함께 설정된 간격 후에 이벤트를 생성합니다. 먼저 5초 간격으로 타이머 개체를 만듭니다. - timer = new System.Timers.Timer(5000); 타이머의 경과 이벤트를 설정합니다. 간격이 경과하면 발생합니다. − timer.Elapsed += OnTimedEvent; 이제 타이머를 시작하십시오. timer.Enabled = true; 예 using System; using System
작업은 C#에서 비동기 작업을 나타냅니다. 다음은 C#에서 작업을 시작하는 방법을 설명합니다. 대리인을 사용하여 작업을 시작하세요. Task t = new Task(delegate { PrintMessage(); }); t.Start(); Task Factory를 사용하여 작업을 시작하세요. Task.Factory.StartNew(() => {Console.WriteLine("Welcome!"); }); 람다를 사용할 수도 있습니다. Task t = new Task( () => PrintMessag
임시 변수를 사용하지 않고 두 문자열을 바꾸려면 다음 코드와 논리를 시도할 수 있습니다. 두 번째 문자열을 첫 번째 문자열에 추가합니다. str1 = str1 + str2; str2에 str1을 설정합니다. str2 = str1.Substring(0, str1.Length - str2.Length); 이제 마지막 단계는 str1에 str2를 설정하는 것입니다 - str1 = str1.Substring(str2.Length); 예시 using System; class Demo { public stati
Bitwise XOR 연산자를 사용하여 한 줄에 두 개의 변수를 바꾸려면. val1 = val1 ^ val2 ^ (val2 = val1); 위에서 우리는 값을 설정했습니다 - int val1 = 30; int val2 = 60; 다음은 C# −를 사용하여 한 줄에 두 변수를 모두 바꾸는 예입니다. 예 using System; class Demo { public static void Main(String[] args) { int val1 = 30; &nb
멤버 함수를 정적으로 선언합니다. 이러한 함수는 정적 변수에만 액세스할 수 있습니다. 정적 함수는 개체가 생성되기 전에도 존재합니다. 정적 클래스는 인스턴스화할 수 없으며 정적 멤버만 포함할 수 있습니다. 정적 메서드는 정적 키워드 −를 사용하여 설정됩니다. public static int getNum() { return num; } 다음 예는 정적 및 비정적 방법의 사용을 보여줍니다 - 예 using System; namespace StaticVarApplication { cl
C#의 이중 문자열 형식에 정적 메서드 String.Format을 사용합니다. 소수점 세 자리의 경우 - String.Format({0:0.000}, 987.383);String.Format({0:0.000}, 987.38);String.Format({0:0.000}, 987.7899); 천 단위 구분 기호 - String.Format({0:0,0.0}, 54567.46);String.Format({0:0,0}, 54567.46); 문자열 형식화하기 - 예시 시스템 사용;class Demo { public static void
문자열 리터럴 문자열 리터럴 또는 상수는 큰따옴표 또는 @로 묶습니다. 문자열에는 일반 문자, 이스케이프 시퀀스 및 범용 문자와 같은 문자 리터럴과 유사한 문자가 포함됩니다. 다음은 문자열 리터럴의 몇 가지 예입니다. - Hello, World" "Welcome, \ 다음은 문자열 리터럴의 사용법을 보여주는 예입니다 - 예 using System; namespace Demo { class Program { static void Main(str
return 문은 값을 반환하는 데 사용됩니다. 프로그램이 함수를 호출하면 프로그램 제어가 호출된 함수로 전달됩니다. 다음은 C#에서 return 문의 사용법을 알아보기 위한 예제입니다. 여기에서는 return 문을 사용하여 평균을 구하고 결과를 반환합니다. double getAverage(int[] arr, int size) { int i; double avg; int sum = 0; for (i = 0; i < size; ++i
목록 모음의 예를 살펴보겠습니다. 우리는 요소를 설정했습니다 - List<int> list = new List<int>(); list.Add(20); list.Add(40); list.Add(60); list.Add(80); 이제 목록에서 첫 번째 요소를 검색해야 한다고 가정해 보겠습니다. 이를 위해 다음과 같이 인덱스를 설정하십시오 - int a = list[0]; 다음은 목록 컬렉션에서 요소를 검색하는 방법을 보여주는 예입니다 - 예시 using System; using System.Collection
구조는 값 유형 데이터 유형입니다. 하나의 변수에 다양한 데이터 유형의 관련 데이터를 담을 수 있도록 도와줍니다. struct 키워드는 구조를 만드는 데 사용됩니다. 구조를 정의하려면 struct 문을 사용해야 합니다. struct 문은 프로그램에 대해 둘 이상의 멤버가 있는 새 데이터 유형을 정의합니다. 예를 들어 다음은 Book 구조를 선언하는 방법입니다. 다음은 회원입니다 - struct Books { public string title; public string author;
재정의 재정의에서 하위 클래스 유형에 고유한 동작을 정의할 수 있습니다. 이는 하위 클래스가 요구 사항에 따라 상위 클래스 메서드를 구현할 수 있음을 의미합니다. Overriding을 구현하는 추상 클래스의 예를 살펴보겠습니다 − 예 using System; namespace PolymorphismApplication { abstract class Shape { public abstract int area(); } cl
다음은 재정의와 섀도잉의 차이점입니다. - 섀도잉은 전체 메서드를 재정의하는 반면 재정의는 메서드 구현만 재정의합니다. Overriding에서는 자식 클래스의 개체 재정의 메서드를 사용하여 기본 클래스에 액세스할 수 있습니다. Shadowing은 Chaild 클래스 메서드에 액세스할 수 없습니다. 섀도잉은 메서드 은닉이라고도 합니다. 섀도잉에서 override 키워드를 사용하지 않고도 부모 클래스의 메서드를 자식 클래스에서 사용할 수 있습니다. 자식 클래스에는 동일한 기능의 자체 버전이 있습니다. 재정의에서 하
가상 virtual 키워드를 사용하면 클래스를 재정의할 수 있습니다. 자식 클래스에서 부모 클래스 메서드를 재정의하려면 부모 클래스 메서드를 가상으로 선언합니다. 밀봉 클래스가 봉인된 것으로 선언되면 상속될 수 없으며 추상 클래스는 봉인된 것으로 선언될 수 없습니다. 재정의되는 것을 방지하려면 C#에서 봉인을 사용하세요. 메서드에 대해 C#에서 봉인된 수정자를 사용하면 메서드가 재정의하는 기능이 손실됩니다. 봉인된 메서드는 파생 클래스의 일부여야 하며 메서드는 재정의된 메서드여야 합니다. public sealed overrid
두 숫자를 바꾸려면 다음 논리를 사용하십시오. 스와핑을 위한 두 개의 변수 설정 - val1 = 100; val2 = 200; 이제 스왑을 위해 다음 작업을 수행하십시오 - val1 = val1 + val2; val2 = val1 - val2; val1 = val1 - val2; 다음은 코드입니다 - 예 using System; namespace Demo { class Program { static void Main(string[] args) { &nb
ArrayCopyTo() 메서드는 현재 1차원 Array의 모든 요소를 지정된 대상 Array 인덱스에서 시작하여 지정된 1차원 Array에 복사합니다. 인덱스는 32비트 정수로 지정됩니다. C#의 CopyTo() 메서드는 한 배열의 요소를 다른 배열로 복사하는 데 사용됩니다. 이 방법에서는 원본 배열에서 복사하려는 시작 인덱스를 설정할 수 있습니다. 다음은 C#에서 배열 클래스의 CopyTo(,) 메소드 사용법을 보여주는 예입니다 - 예시 using System; class Program { sta
다음은 C#의 표현식 유형입니다 − 좌우값 − lvalue인 식은 할당의 왼쪽 또는 오른쪽으로 나타날 수 있습니다. r값 − rvalue인 표현식은 할당의 오른쪽이 아닌 왼쪽에 나타날 수 있습니다. 변수는 lvalue이므로 할당의 왼쪽에 나타날 수 있습니다. 숫자 리터럴은 rvalue이므로 할당되지 않을 수 있으며 왼쪽에 나타날 수 없습니다. 다음은 유효한 C# 문입니다 - int a = 100:
FizzBuzz 문제는 다음과 같이 말합니다. - 3의 각 배수에 대해 숫자 대신 Fizz를 표시합니다. 각 5의 배수에 대한 숫자 대신 버즈를 표시합니다. 5 &3의 각 배수에 대한 숫자 대신 FizzBuzz 표시 C#을 사용하여 위의 내용을 구현하는 방법을 살펴보겠습니다 − 예 using System; class Demo { static void Main(String[] args) { for(int i=1;i<=100;i++) {  
비정적 클래스는 인스턴스화할 수 있지만 정적 클래스는 인스턴스화할 수 없습니다. 즉, new 키워드를 사용하여 클래스 유형의 변수를 생성할 수 없습니다. 비정적 클래스는 인스턴스 메소드와 정적 메소드를 가질 수 있습니다. 정적 클래스는 봉인된 반면 클래스 이름 자체를 사용하여 정적 클래스의 멤버에 액세스합니다. 비정적 클래스의 예 - public class Calculate 정적 클래스의 예 - public static class Calculate