스트림에서 바이너리 정보를 읽으려면 BinaryReader 클래스를 사용하십시오. BinaryReader 클래스는 System.IO 네임스페이스에 있습니다. 다음은 BinaryReader 클래스를 사용하여 파일에서 읽는 것을 보여주는 예입니다 - static void WriteMe() { using (BinaryWriter w = new BinaryWriter(File.Open("C:\\abc.txt", FileMode.Create))) { w.Wri
BitArray 클래스의 Item 속성은 BitArray의 특정 위치에 있는 비트 값을 가져오거나 설정합니다. Item 속성을 구현하는 대신 키워드를 사용하여 인덱서를 정의합니다. 요소에 액세스하려면 mycollection[색인]을 사용하십시오. 다음은 BitArray 클래스 Item 속성의 구현입니다 - 예시 using System; using System.Collections; class Demo { static void Main() { bool[] arr = n
이진 정보를 스트림에 쓰려면 C#에서 BinaryWriter 클래스를 사용하십시오. System.IO 네임스페이스에서 찾을 수 있습니다. 다음은 BinaryWriter 클래스의 구현입니다 - static void WriteMe() { using (BinaryWriter w = new BinaryWriter(File.Open("C:\\abc.txt", FileMode.Create))) { w.Write(37.8); w
다음은 C#.NET에서 지원하는 액세스 지정자입니다 - 공개 액세스 지정자 이를 통해 클래스는 멤버 변수와 멤버 함수를 다른 함수 및 개체에 노출할 수 있습니다. 비공개 액세스 지정자 개인 액세스 지정자를 사용하면 클래스가 다른 함수 및 개체에서 해당 구성원 변수 및 구성원 함수를 숨길 수 있습니다. 같은 클래스의 함수만 private 멤버에 액세스할 수 있습니다. 보호된 액세스 지정자 보호된 액세스 지정자를 사용하면 자식 클래스가 기본 클래스의 멤버 변수와 멤버 함수에 액세스할 수 있습니다. 내부 액세스 지정자 내부 액세스
읽기 및 쓰기와 같은 파일 작업을 위한 스트림은 FileStream 클래스에서 제공됩니다. 다음과 같은 개체를 만듭니다. FileStream fstream = new FileStream("d:\\new.txt", FileMode.OpenOrCreate); 위에서 FileMode.OpenOrCreate를 사용하여 파일이 이미 존재하지 않는 경우 열거나 만들었습니다. 다음은 C#에서 FileStream 클래스를 사용하는 방법을 보여주는 n 예입니다 - using System; using System.IO; pu
C#에서 폴더 크기를 계산하려면 Directory.EnumerateFiles 메서드를 사용하여 파일을 가져옵니다. 하위 디렉터리를 가져오려면 EnumerateDirectories 메서드를 사용합니다. 우리 폴더는 DirectoryInfo 클래스를 사용하여 설정됩니다 - DirectoryInfo info = new DirectoryInfo(@"D:/new"); 이제 크기를 찾으십시오 - long totalSize = info.EnumerateFiles().Sum(file => file.Length); 디
재귀를 사용하여 숫자의 거듭제곱을 계산하려면 다음 코드를 시도하십시오. 여기서 거듭제곱이 0과 같지 않으면 결국 재귀인 함수 호출이 발생합니다. - if (p!=0) { return (n * power(n, p - 1)); } 위의 n은 숫자 자체이며 아래 표시된 것처럼 모든 반복에서 거듭제곱이 감소합니다. - 예 using System; using System.IO; public class Demo { public static void Main(string[] args) { &n
C#에서 사용자 정의 메소드를 정의하려면 다음 구문을 사용하십시오 - <Access Specifier> <Return Type> <Method Name>(Parameter List) { Method Body } 사용자 지정 메서드를 호출하려면 다음 코드를 실행해 보십시오. 이진 표현이 회문인지 여부를 검사하기 위해 호출되는 checkPalindrome() 메서드가 있습니다. - 예시 using System; public class Demo { publ
C#에서 분수 거듭제곱을 계산하려면 Math.Pow 메서드를 사용하세요. 다음은 5의 거듭제곱 3.7 −을 설정합니다. double res = Math.Pow(5, 3.7); 다음은 C#에서 분수 거듭제곱을 계산하는 방법을 보여주는 완전한 예입니다. − 예 using System; class Program { static void Main() { double res = Math.Pow(5, 3.7); Console.WriteLin
C#에서 메서드에 매개변수를 전달하려면 값으로 매개변수를 전달하는 방법을 살펴보겠습니다. 이 메커니즘에서 메소드가 호출되면 각 값 매개변수에 대해 새 저장 위치가 생성됩니다. 실제 매개변수의 값이 복사됩니다. 따라서 메서드 내부의 매개변수에 대한 변경 사항은 인수에 영향을 미치지 않습니다. 다음은 메소드에 매개변수를 전달하는 방법을 보여주는 예입니다 - 예시 using System; namespace Demo { class NumberManipulator { publ
포인터는 그 값이 다른 변수의 주소, 즉 메모리 위치의 직접 주소인 변수입니다. 포인터의 구문은 - type *var-name; 다음은 포인터 유형을 선언하는 방법입니다 - double *z; /* pointer to a double */ C#에서는 unsafe 한정자로 표시된 코드 블록의 함수에서 포인터 변수를 사용할 수 있습니다. 안전하지 않은 코드 또는 관리되지 않는 코드는 포인터 변수를 사용하는 코드 블록입니다. 다음은 포인터 변수를 선언하고 사용하는 방법을 보여주는 모듈입니다. 우리는 여기에 안전하지 않은 수정자를
포인터를 메소드에 매개변수로 전달하려면 아래 단계를 참조하십시오 - 먼저 unsafe 수정자로 함수 스왑을 만듭니다. public unsafe void swap(int* p, int *q) { int temp = *p; *p = *q; *q = temp; } 이제 static void main 아래에 첫 번째와 두 번째 변수의 값을 추가하고 두 변수에 대한 포인터를 설정합니다. 변수의 값을 표시한 다음 위에 표시된 swap() 메서드를 호출합니다. 메소드는
이름은 같지만 매개변수가 다른 두 개 이상의 메서드를 C#에서 메서드 오버로딩이라고 합니다. C#에서 메소드 오버로딩은 인수의 수와 인수의 데이터 유형을 변경하여 수행할 수 있습니다. 숫자의 곱셈을 출력하는 함수가 있다고 가정해 보겠습니다. 그러면 오버로드된 메서드는 이름은 같지만 인수 수가 다릅니다. - public static int mulDisplay(int one, int two) { } public static int mulDisplay(int one, int two, int three) { } public static
상속을 통해 다른 클래스로 클래스를 정의할 수 있으므로 애플리케이션을 쉽게 만들고 유지 관리할 수 있습니다. 이는 또한 코드 기능을 재사용하고 구현 시간을 단축할 수 있는 기회를 제공합니다. 상속은 기본 클래스와 파생 클래스의 개념을 기반으로 합니다. 클래스는 둘 이상의 클래스 또는 인터페이스에서 파생될 수 있습니다. 즉, 여러 기본 클래스 또는 인터페이스에서 데이터와 기능을 상속할 수 있습니다. 기본 클래스와 파생 클래스의 예를 살펴보겠습니다. 여기서 Shape는 기본 클래스이고 Rectangle은 파생 클래스입니다. cla
C# 프로그램의 주요 부분은 다음을 포함합니다 - 네임스페이스 선언 수업 클래스 메소드 클래스 속성 메인 메소드 문장 및 표현 댓글 다음은 C# 프로그램을 만드는 방법을 보여주는 예입니다 - 예시 using System; namespace Demo { class Program { static void Main(string[] args) { Console.WriteLine("Our first pro
스레드는 경량 프로세스입니다. 스레드를 사용하는 일반적인 예는 최신 운영 체제에서 동시 프로그래밍을 구현하는 것입니다. 다음은 Thread 클래스의 속성 중 일부입니다 - 시니어 번호 속성 및 설명 1 현재 컨텍스트 스레드가 실행 중인 현재 컨텍스트를 가져옵니다. 2 현재 문화 현재 스레드의 문화권을 가져오거나 설정합니다. 3 현재 원칙 스레드의 현재 보안 주체를 가져오거나 설정합니다(역할 기반 보안용). 4 현재 스레드 현재 실행 중인 스레드를 가져옵니다. 5 현재 UICulture 런타임에 문
#if 지시문을 사용하여 조건부 지시문을 만듭니다. 조건부 지시문은 기호가 true로 평가되는지 확인하기 위해 기호를 테스트하는 데 유용합니다. true로 평가되면 컴파일러는 #if와 다음 지시문 사이의 모든 코드를 평가합니다. 다음은 구문입니다 - #if symbol [operator symbol]... 여기, 기호 테스트하려는 기호의 이름입니다. true 및 false를 사용하거나 기호 앞에 부정 연산자를 추가할 수도 있습니다. 연산자 기호 기호를 평가하는 데 사용되는 연산자입니다. 연산자는 다음 중 하나일 수 있습니다.
다형성은 정적이거나 동적일 수 있습니다. 정적 다형성에서 함수에 대한 응답은 컴파일 시간에 결정됩니다. 동적 다형성에서는 런타임에 결정됩니다. 컴파일 시간 동안 함수와 객체를 연결하는 것을 초기 바인딩이라고 합니다. 정적 바인딩이라고도 합니다. C#은 정적 다형성을 구현하는 두 가지 기술을 제공합니다. 함수 오버로딩과 연산자 오버로딩입니다. 함수 오버로딩에서는 동일한 범위에서 동일한 함수 이름에 대해 여러 정의를 가질 수 있습니다. 함수의 정의는 인수 목록의 인수 유형 및/또는 개수에 따라 서로 달라야 합니다. 다음은 C#에서
삼항 연산자는 C#의 조건 연산자입니다. 세 개의 인수를 사용하고 부울 표현식을 평가합니다. 예를 들어 - y = (x == 1) ? 70 : 100; 위에서 첫 번째 피연산자가 true(1)로 평가되면 두 번째 피연산자가 평가됩니다. 첫 번째 피연산자가 false(0)로 평가되면 세 번째 피연산자가 평가됩니다. 다음은 예입니다 - 예 using System; namespace DEMO { class Program { static void Main(string[]
컴포지션에서 상위 개체가 삭제되면 하위 개체도 상태를 잃게 됩니다. 컴포지션은 특별한 유형의 집계이며 관계의 일부를 제공합니다. 예를 들어 A Car에는 엔진이 있습니다. 자동차가 파괴되면 엔진도 파괴됩니다. public class Engine { . . . } public class Car { Engine eng = new Engine(); ....... }