Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C#

  1. C#에서 0으로 나누면? 무한대가 아닌 DivideByZeroException 예외 발생

    C#에서 정수를 0으로 나누면 무한대(Infinity)가 반환되는 것이 아니라 System.DivideByZeroException 예외가 발생합니다. 이 예외 클래스는 피제수를 0으로 나누려 할 때 생기는 오류를 처리하는 전용 클래스입니다.다음 예제를 통해 실제 동작 방식을 살펴보겠습니다.예제using System; namespace ErrorHandlingApplication {     class DivNumbers {        

  2. C#에서 객체(Object)와 클래스(Class)의 차이점 완벽 정리

    C#의 객체와 클래스란?C#은 Java와 마찬가지로 객체 지향 프로그래밍 언어로, 클래스(Class)와 객체(Object)라는 핵심 개념을 사용합니다.클래스는 객체를 만들기 위한 설계도(템플릿)입니다. 데이터(필드)와 동작(메서드)을 하나로 묶어 정의하며, 그 자체로는 실체가 아닙니다.객체는 현실 세계의 실체를 프로그램으로 표현한 것으로, 클래스의 인스턴스(instance)입니다. 하나의 클래스로부터 여러 개의 독립적인 객체를 생성할 수 있으며, 객체를 통해서만 클래스의 멤버에 접근할 수 있습니다.점(.) 연산자로 클래스 멤버 접근

  3. C# const와 readonly의 차이점 완벽 정리

    C# 프로그래밍에서 const와 readonly는 모두 값을 변경할 수 없게 만드는 키워드지만, 초기화 시점과 동작 방식에서 중요한 차이가 있습니다. 두 키워드의 특징을 자세히 살펴보겠습니다. const 키워드란? const(상수) 필드는 한 번 선언되면 절대 수정할 수 없는 필드입니다. 상수 필드는 반드시 선언과 동시에 값을 할당해야 하며, 그 값은 컴파일 시점에 고정됩니다. const int a = 5; 위 코드처럼 선언하는 순간 값이 지정되며, 이후 프로그램 어디에서도 이 값을 변경할 수 없습니다. readonly 키워드란?

  4. C#에서 초기화와 값 할당의 차이점은 무엇일까?

    이번 글에서는 C# 프로그래밍에서 초기화(Initialization)와 값 할당(Assignment)의 차이점을 자세히 살펴보겠습니다. 두 개념은 비슷해 보이지만 메모리 관점에서 중요한 차이가 있습니다. 배열 선언 먼저 배열을 선언하는 방법부터 확인해 보겠습니다. 아래 코드는 정수형 배열 변수를 단순히 선언한 것입니다. int[] n; // 배열 선언 초기화(Initialization) 배열을 선언한다고 해서 메모리상에서 실제로 초기화되는 것은 아닙니다. 배열 변수를 초기화해야 비로소 배열에 값을 저장할 공간이 마련됩니다. C

  5. C#에서 Read()와 ReadLine() 메서드의 차이점 완벽 정리

    C# Read() 메서드란? Read() 메서드는 표준 입력 스트림에서 다음 문자 하나를 읽어옵니다. 이 메서드는 읽어온 문자를 int 형식(해당 문자의 ASCII 코드 값)으로 반환하며, 콘솔에서 키가 입력되면 프로그램이 종료됩니다. int a = Console.Read(); Console.WriteLine(a); 예를 들어 사용자가 A를 입력하면 화면에는 문자가 아닌 ASCII 코드 값인 65가 출력됩니다. C# ReadLine() 메서드란? ReadLine() 메서드는 표준 입력 스트림에서 한 줄 전체(줄바꿈 문자 앞까지의

  6. C# 메서드 재정의(Overriding)와 숨기기(Hiding)의 차이점 완벽 정리

    C#에서 자식 클래스가 부모 클래스의 메서드를 다시 정의하는 방식은 크게 두 가지가 있습니다. 바로 재정의(Overriding)와 숨기기(Hiding, 섀도잉)입니다. 두 방법 모두 부모 클래스에 이미 존재하는 메서드를 자식 클래스에서 새롭게 구현한다는 점에서 비슷해 보이지만, 동작 방식과 사용 목적에는 중요한 차이가 있습니다. 메서드 숨기기(Method Hiding)란? 메서드 숨기기는 C#에서 섀도잉(shadowing)이라고도 불립니다. 숨기기를 사용하면 override 키워드 없이도 부모 클래스의 메서드를 자식 클래스에서 사

  7. C# 값 전달(Pass by Value)과 참조 매개변수(Reference Parameter)의 차이점 완벽 정리

    참조 매개변수(Reference Parameters)란?참조 매개변수는 변수가 저장된 메모리 위치에 대한 참조를 의미합니다. 참조 매개변수는 메서드에 전달된 실제 인자(actual argument)와 동일한 메모리 위치를 가리킵니다.값 매개변수와 달리, 매개변수를 참조로 전달하면 새로운 저장 공간이 생성되지 않습니다. 따라서 메서드 내부에서 매개변수 값을 변경하면, 호출한 쪽의 원본 변수에도 그 변경 사항이 그대로 반영됩니다.C#에서는 ref 키워드를 사용하여 참조로 전달할 수 있습니다.void UpdateValue(ref int

  8. C# TrimStart()와 TrimEnd() 메서드의 차이점 완벽 정리

    C#의 문자열 처리 메서드 중 TrimStart()는 문자열 앞쪽(선행)에 있는 특정 문자들을 모두 제거하고, TrimEnd()는 문자열 뒤쪽(후행)에 있는 특정 문자들을 모두 제거합니다.두 메서드 모두 Char 배열로 제거할 문자 집합을 지정하며, 원본 문자열은 변경되지 않고 새로운 문자열을 반환한다는 점도 기억해 두면 좋습니다.TrimStart() 메서드란?TrimStart() 메서드는 배열로 지정된 문자 집합이 문자열 앞쪽에 연속해서 나타나는 경우, 해당 문자들을 모두 제거합니다.다음 예제는 문자열 앞쪽에 있는 0(영)을 모두

  9. C#에서 스레드 중단하기: Abort() 메서드 완벽 정리

    C# 멀티스레딩 환경에서 Abort() 메서드는 실행 중인 스레드를 강제로 종료할 때 사용됩니다. 이 글에서는 Abort() 메서드의 동작 원리와 실제 사용 예제를 자세히 살펴보겠습니다.Abort() 메서드란?Abort() 메서드는 대상 스레드를 파괴(강제 종료)하는 역할을 합니다. 런타임은 호출된 스레드에 ThreadAbortException을 발생시켜 스레드를 중단시킵니다.이 예외의 가장 큰 특징은 catch 블록으로 잡을 수 없다는 점입니다. 예외가 발생하면 제어권은 finally 블록으로 넘어가며, finally 블록의 코드

  10. C#에서 포인터로 데이터 값 검색하는 방법

    포인터(pointer)는 다른 변수의 메모리 주소를 값으로 가지는 변수입니다. 포인터 변수가 참조하는 위치에 저장된 데이터는 ToString() 메서드를 사용하여 가져올 수 있습니다.C# 포인터의 기본 개념C#에서 포인터를 사용하려면 unsafe 키워드로 코드 블록을 감싸야 하며, 프로젝트 설정에서 안전하지 않은(unsafe) 코드 허용 옵션을 활성화해야 합니다. 포인터 선언 시 자료형 뒤에 별표(*)를 붙이고, & 연산자를 사용하여 변수의 주소를 할당합니다.예제 코드다음은 포인터를 사용하여 데이터 값을 검색하는 예제입니다.

  11. C# String.Join() 메서드 – 문자열 배열을 하나의 문자열로 합치기

    C#의 String.Join() 메서드는 문자열 배열에 포함된 모든 요소를 하나의 문자열로 연결하며, 각 요소 사이에는 지정한 구분자(separator)가 자동으로 삽입됩니다. 배열의 요소들을 쉼표, 공백, 줄 바꿈 문자 등 원하는 형태로 손쉽게 합칠 수 있어 실무에서 매우 자주 사용되는 메서드입니다.기본 문법String.Join(구분자, 문자열배열);아래 예제에서는 여러 줄로 구성된 문자열을 다루며, 각 문장이 새 줄에서 시작되도록 구분자를 \n(줄 바꿈 문자)로 설정했습니다.String.Join(\n, starray);예제 코드

  12. 중간 지구 궤도(MEO) 위성이란? 개념부터 종류와 활용 분야까지

    중간 지구 궤도(Medium Earth Orbit, MEO) 위성은 두 개의 반앨런 복사대(Van Allen Belts) 사이에 위치하는 인공위성을 말합니다. MEO는 중간 원형 궤도(Intermediate Circular Orbit, ICO)라고도 불립니다.MEO 위성의 고도는 약 2,000km에서 35,000km 사이로, 저지구 궤도(LEO)보다는 높고 정지 궤도(GEO)보다는 낮은 구간에 자리합니다. 공전 주기는 고도에 따라 달라지며, 대체로 2시간에서 23시간 이상에 이릅니다.이러한 특성 덕분에 MEO 위성은 저지구 궤도 위

  13. C#에서 키를 기준으로 해시맵(Dictionary) 정렬하는 방법

    C#에는 해시맵(HashMap)이라는 컬렉션이 없습니다. 해시맵은 자바(Java)에 존재하는 개념이며, C#에서 이와 동일한 역할을 하는 것은 키-값(key-value) 쌍을 저장하는 Dictionary입니다.먼저 Dictionary를 생성하고 데이터를 추가해 보겠습니다.Dictionary<string, int> d = new Dictionary<string, int>();d.Add("soccer", 1);d.Add("cricket", 2);d.Add("tennis&

  14. C# 연결 예외(Chained Exception) 개념과 사용법 완전 정리

    연결 예외(Chained Exception)란? 연결 예외(Chained Exception)는 여러 개의 try-catch 문이 사슬처럼 이어져 예외를 순차적으로 처리하는 구조를 말합니다. 하위 메서드에서 발생한 예외를 상위 메서드로 전달할 때 새로운 예외로 감싸면, 원래 예외는 내부 예외(InnerException)로 보존됩니다. 이를 통해 예외가 어떤 호출 경로를 거쳐 전파되었는지 손쉽게 추적할 수 있습니다. C#에서는 throw new Exception(메시지, 내부예외)처럼 생성자의 두 번째 인자에 기존 예외를 전달하여 연결

  15. C#에서 델리게이트(Delegate)로 수학 연산을 호출하는 방법

    C# 델리게이트를 활용한 수학 연산 호출 예제 C#에서 델리게이트(delegate)를 사용하여 수학 연산을 호출하는 원리를 이해하려면, 간단한 예제를 통해 살펴보는 것이 가장 효과적입니다. 여기서는 특정 숫자를 5로 나누는 연산을 예로 들어보겠습니다. 1. 클래스와 함수 정의 먼저 클래스를 선언하고, 그 안에 나눗셈을 수행하는 함수를 작성합니다. public class Demo { public static double DivideFunc(double value) { return value / 5; }

  16. C#에서 관리 코드(Managed Code)란 무엇인가?

    관리 코드란?관리 코드(Managed Code)는 실행 과정 전체가 공용 언어 런타임(CLR, Common Language Runtime)에 의해 관리되는 코드를 의미합니다. CLR은 이러한 코드를 받아 기계어로 컴파일한 후 실행하며, 이 과정에서 개발자가 신경 쓰지 않아도 되는 여러 편의 기능을 제공합니다.런타임인 CLR은 자동 메모리 관리, 타입 안정성(Type Safety), 가비지 컬렉션 등의 핵심 기능을 담당합니다. 덕분에 개발자는 메모리 해제나 저수준 리소스 관리에 대한 부담 없이 애플리케이션 로직에 집중할 수 있습니다.

  17. C#에서 같은 밑의 지수 나눗셈을 수행하는 방법

    지수 법칙에 따르면, 밑이 같은 거듭제곱을 나눌 때는 지수를 서로 빼주면 됩니다. 즉, am ÷ an = am-n 공식을 활용하는 것이 핵심입니다.먼저 밑(base)을 설정합니다.double n = 10;이제 나눗셈에 사용할 두 개의 지수를 설정합니다.double e1 = 10;double e2 = 8;첫 번째 지수(e1)에서 두 번째 지수(e2)를 뺀 값이 곧 결과 지수가 됩니다. 같은 밑을 가진 지수 나눗셈의 결과를 구하는 전체 코드를 살펴보겠습니다.예제using System; class Demo {    s

  18. C# 리스트(List)에서 첫 번째 요소를 팝하는 방법 – RemoveAt() 메서드 완벽 정리

    C#에서 리스트(List)의 첫 번째 요소를 팝(pop)하려면 RemoveAt() 메서드를 사용하면 됩니다. 이 메서드는 지정한 인덱스 위치에 있는 요소를 삭제하며, 인덱스 0을 전달하면 리스트의 맨 앞 요소가 제거됩니다. 1. 리스트 선언하기 먼저 예제에 사용할 문자열 리스트를 생성합니다. List<string> myList = new List<string>() { "Operating System", "Computer Networks", "Co

  19. C#에서 같은 밑의 지수 곱셈 계산하는 방법

    수학에서 같은 밑을 가진 두 거듭제곱을 곱할 때는 지수를 서로 더하면 됩니다. 즉, na × nb = n(a+b) 법칙이 성립합니다. C#에서는 이 원리를 활용해 손쉽게 계산할 수 있습니다.밑(Base) 설정하기먼저 밑이 될 값을 설정합니다.double n = 2;지수 설정하기다음으로 곱셈에 사용할 두 개의 지수를 설정합니다.double e1 = 5;double e2 = 4;두 지수를 더하면 5 + 4 = 9가 되며, 이는 2⁵ × 2⁴ = 2⁹와 동일한 결과를 의미합니다.전체 예제 코드같은 밑의 지수 곱셈 결과를 구하는 전체 코드

  20. C# checked와 unchecked 키워드 완벽 가이드: 산술 오버플로우 처리 방법

    C#에서는 checked 또는 unchecked 컨텍스트 안에서 코드를 실행할 수 있습니다. 두 컨텍스트의 핵심 차이는 산술 오버플로우(arithmetic overflow)를 어떻게 처리하느냐에 있습니다.checked 컨텍스트에서는 산술 연산 중 오버플로우가 발생하면 예외(OverflowException)가 던져지지만, unchecked 컨텍스트에서는 오버플로우가 조용히 무시되고 잘린(truncated) 결과값이 반환됩니다.Checked 예외란?checked 키워드를 사용하면 정수형(int, long 등) 산술 연산과 형 변환에 대

Total 2668 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:33/134  20-컴퓨터/Page Goto:1 27 28 29 30 31 32 33 34 35 36 37 38 39