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

C#

  1. C# 배열에 값을 할당하는 방법 완벽 가이드

    C#에서 배열을 선언하는 것만으로는 메모리상에 배열이 초기화되지 않습니다. 배열 변수가 실제로 초기화된 이후에야 배열에 값을 할당할 수 있습니다.배열은 참조 타입입니다배열은 참조(reference) 타입이기 때문에, 배열의 인스턴스를 생성하려면 new 키워드를 사용해야 합니다. 예를 들어 다음과 같은 방식으로 값을 할당할 수 있습니다.double[] price = new double[5]; price[0] = 3245.50; price[1] = 1234.50; price[2] = 8765.50; price[3] = 5784.50;

  2. C# List 컬렉션에서 Remove, RemoveAt, RemoveRange 메서드로 요소 삭제하기

    C#의 List<T> 컬렉션은 요소를 삭제할 수 있는 다양한 메서드를 제공합니다. 대표적으로 Remove(), RemoveAt(), RemoveRange() 세 가지가 있으며, 각각의 용도는 다음과 같습니다.Remove(): 지정한 값을 가진 첫 번째 요소를 찾아 제거합니다.RemoveAt(): 지정한 인덱스(위치)에 있는 요소를 제거합니다.RemoveRange(): 시작 인덱스부터 지정한 개수만큼의 요소를 한 번에 제거합니다.Remove()와 RemoveAt() 사용 예제먼저 문자열 리스트를 생성합니다.List<s

  3. C# 배열(Array)과 리스트(List)의 차이점 완벽 정리

    C# 배열과 리스트의 기본 개념C#에서 배열(Array)은 동일한 타입의 요소들을 고정된 크기로 순차적으로 저장하는 자료구조입니다. 반면 리스트(List)는 제네릭 컬렉션으로, 요소를 동적으로 추가하거나 제거할 수 있어 크기가 유연하게 변합니다.리스트(List) 정의하기리스트를 선언하려면 다음과 같이 작성합니다.List<string> myList = new List<string>();리스트에 요소를 추가하려면 Add 메서드를 사용합니다.myList.Add(Audi);myList.Add(BMW);myList.Ad

  4. C# 클래스와 구조체의 차이점 완벽 정리

    C#을 배우다 보면 클래스(Class)와 구조체(Struct) 중 어떤 것을 사용해야 할지 고민하게 됩니다. 두 형식은 비슷해 보이지만 메모리 할당 방식과 동작에서 중요한 차이가 있습니다. 이 글에서는 각 형식의 개념과 핵심 차이점을 명확하게 정리해 드립니다. 클래스(Class)란? 클래스는 데이터 형식을 만들기 위한 일종의 설계도입니다. 클래스 정의는 class 키워드로 시작하며 그 뒤에 클래스 이름이 옵니다. 클래스는 참조 형식(reference type)으로, 객체가 힙(heap)에 할당되고 변수에는 실제 데이터가 아닌 해당

  5. C#의 final, finally, finalize 차이점 완벽 정리

    final 키워드와 sealedJava에는 final 키워드가 존재하지만, C#에는 이에 직접 대응하는 구현이 없습니다. 동일한 기능이 필요하다면 대신 sealed 키워드를 사용해야 합니다.sealed를 사용하면 메서드의 재정의(오버라이딩)를 방지할 수 있습니다. C#에서 메서드에 sealed 한정자를 적용하면 해당 메서드는 더 이상 파생 클래스에서 재정의할 수 없게 됩니다. 단, sealed 메서드는 반드시 파생 클래스의 멤버여야 하며, 이미 override로 재정의된 메서드에만 사용할 수 있다는 점에 유의해야 합니다.finall

  6. C#에서 딕셔너리(Dictionary)와 배열(Array)의 차이점 완벽 정리

    C# 프로그래밍에서 딕셔너리(Dictionary)와 배열(Array)은 가장 많이 사용되는 자료구조입니다. 두 컬렉션 모두 데이터를 저장하지만, 저장 방식과 사용 목적에서 뚜렷한 차이가 있습니다. 이 글에서는 각각의 특징과 사용법을 살펴보고 핵심 차이점을 정리해 드립니다.딕셔너리(Dictionary)란?딕셔너리는 키(Key)와 값(Value)의 쌍으로 데이터를 저장하는 컬렉션입니다. 각 요소는 고유한 키로 식별되므로, 인덱스 대신 키를 사용해 데이터를 빠르게 조회할 수 있습니다. 딕셔너리는 System.Collections.Gene

  7. C# 문자열(String) 클래스 완벽 정리: 주요 속성과 메서드

    C#에서 string 키워드는 System.String 클래스의 별칭(alias)입니다. 즉, string과 String은 사실상 동일한 타입을 가리키며, 문자열 데이터를 다루는 데 필수적인 다양한 기능을 제공합니다.참고로 C#의 문자열은 불변(immutable) 객체입니다. 한 번 생성된 문자열은 수정할 수 없으며, 문자열을 조작하면 항상 새로운 문자열 객체가 반환됩니다.String 클래스의 주요 속성String 클래스가 제공하는 대표적인 속성은 다음과 같습니다.번호속성 및 설명1Chars현재 String 객체에서 지정된 위치에

  8. C# 스트림과 바이트 스트림 완벽 이해하기

    C# 스트림(Stream)이란?파일(File)은 특정 이름과 디렉터리 경로를 가지며 디스크에 저장된 데이터의 집합입니다. 이러한 파일을 읽기 또는 쓰기 위해 열게 되면, 프로그램과 파일 사이의 데이터 흐름인 스트림(Stream)이 생성됩니다.스트림의 종류바이트 스트림(Byte Streams): Stream, FileStream, MemoryStream, BufferedStream 등이 포함됩니다.문자 스트림(Character Streams): TextReader-TextWriter, StreamReader, StreamWriter

  9. C#에서 문자열 반전(뒤집기)하는 방법

    C#에서 문자열을 반전(뒤집기)하는 방법C#에서 문자열을 반전하려면 Array.Reverse() 메서드를 사용하면 됩니다. 이 메서드는 배열의 요소 순서를 거꾸로 뒤집어 주는 기능을 제공합니다.먼저 문자열을 매개변수로 받아 반전된 결과를 반환하는 메서드를 작성해 보겠습니다. 아래 예제에서는 Henry라는 문자열 값을 전달합니다.public static string ReverseFunc(string str) {    char[] ch = str.ToCharArray();  &nbs

  10. C# 직렬화(Serialization)와 역직렬화(Deserialization) 완벽 가이드

    직렬화(Serialization)는 객체를 바이트 스트림(byte stream) 형태로 변환하여 스트림에 기록할 수 있는 상태로 만드는 과정입니다. 이를 통해 객체를 메모리, 파일 또는 데이터베이스에 저장하거나 네트워크를 통해 전송할 수 있습니다.C#에서 직렬화는 크게 다음 두 가지 방식으로 수행할 수 있습니다.1. 이진 직렬화(Binary Serialization)이진 직렬화는 BinaryFormatter를 사용하여 객체를 이진(binary) 형식으로 변환합니다. 이 방식은 읽기 전용(read-only) 멤버를 포함하여 객체의 모

  11. C#에서 String.Format으로 DateTime 문자열 형식 지정하기

    C#에서는 String.Format 메서드를 사용하여 DateTime 객체를 다양한 문자열 형식으로 손쉽게 변환할 수 있습니다. 형식 지정자를 조합하면 연도, 월, 일 등 원하는 형태로 날짜를 출력할 수 있습니다.예제 코드다음은 String.Format 메서드를 활용해 DateTime 값을 여러 가지 형식으로 출력하는 예제입니다.using System; static class Demo { static void Main() { DateTime d = new DateTime(2018, 2, 8, 12, 7, 7,

  12. C#에서 문자열의 단어를 반전하는 방법 – Reverse() 메서드 활용하기

    C#에서 문자열 단어 반전하기예를 들어 다음과 같은 문자열이 있다고 가정해 보겠습니다.Welcome이 문자열을 반전하면 각 단어가 다음과 같이 거꾸로 뒤집혀 출력됩니다.emocleWC#에서는 LINQ에서 제공하는 Reverse() 메서드를 활용하면 문자열 내 단어를 간단하게 반전할 수 있습니다. 동작 원리는 다음과 같습니다.Split( ): 문자열을 공백 기준으로 분리하여 단어 배열을 만듭니다.Select + Reverse(): 각 단어를 개별적으로 뒤집어 새 문자열로 변환합니다.string.Join(): 반전된 단어들을 다시 공백

  13. C# 정규식(Regex) 활용 가이드: 문자열 분할과 공백 제거 예제

    정규식(Regular Expression)이란?정규식은 입력 텍스트와 비교해 일치 여부를 검사할 수 있는 특수한 패턴입니다. .NET 프레임워크는 System.Text.RegularExpressions 네임스페이스를 통해 정규식 엔진을 기본 제공하므로, 별도의 외부 라이브러리 없이도 강력한 문자열 처리를 수행할 수 있습니다.Regex.Split으로 문자열 분할하기정규식을 구분자로 삼아 문자열을 나누려면 Regex.Split 메서드를 사용합니다. 예를 들어 줄바꿈(\r\n)을 패턴으로 지정하면 문자열을 줄 단위로 손쉽게 분할할 수 있

  14. C# 대문자로 시작하는 단어 사이에 공백 삽입하는 방법

    C#에서 카멜 케이스(CamelCase)로 작성된 문자열의 대문자 앞에 공백을 삽입해 가독성을 높이고 싶은 경우가 있습니다. 예를 들어 WelcomeToMyWebsite를 Welcome To My Website처럼 변환하는 것이죠. 이번 글에서는 LINQ를 활용해 이를 간단하게 구현하는 방법을 알아보겠습니다.문자열 설정먼저 공백을 삽입할 문자열을 준비합니다.var str = WelcomeToMyWebsite;위 문자열을 보면 대문자 앞에 공백이 없습니다. LINQ의 Select 메서드를 사용하면 각 문자를 하나씩 검사하면서 대문자인

  15. C#에서 HashSet 초기화하는 방법

    C#에서 HashSet 초기화하기 C#에서 HashSet을 초기화하는 것은 매우 간단합니다. 생성자에 배열이나 다른 컬렉션을 전달하기만 하면 됩니다. var h = new HashSet<string>(arr1); 위 코드에서는 배열 arr1의 요소들을 사용해 HashSet을 초기화했습니다. HashSet은 중복된 요소를 자동으로 제거하므로, 배열에 동일한 값이 여러 번 포함되어 있더라도 고유한 값만 저장됩니다. 다음은 HashSet을 초기화하는 데 사용할 배열입니다. string[] arr1 = { electron

  16. C# ArrayList에 항목 추가하는 방법 – Add()와 AddRange() 완벽 정리

    C# ArrayList란?ArrayList는 C#에서 제공하는 비제네릭(non-generic) 컬렉션으로, 요소가 추가되거나 삭제될 때 크기가 자동으로 동적으로 조정됩니다. 서로 다른 자료형의 값을 하나의 컬렉션에 함께 저장할 수 있다는 점이 특징입니다.ArrayList를 사용하려면 먼저 System.Collections 네임스페이스를 참조해야 하며, 아래와 같이 초기화할 수 있습니다.ArrayList arr = new ArrayList();Add() 메서드로 개별 항목 추가하기Add() 메서드를 사용하면 ArrayList의 맨 끝

  17. C# 메서드 오버로딩의 이해와 모호성(Ambiguous Call) 오류 해결법

    메서드 오버로딩(Method Overloading)을 활용하면 동일한 범위(scope) 안에서 같은 이름의 메서드를 여러 개 정의할 수 있습니다. 다만 컴파일러가 어떤 메서드를 호출해야 할지 구분할 수 있도록, 각 정의는 매개변수 목록에서 매개변수의 타입 또는 개수가 서로 달라야 한다는 조건이 있습니다. 그런데 선택적 매개변수(기본값이 있는 매개변수)를 함께 사용하면 의도치 않게 모호성(ambiguity) 문제가 발생할 수 있습니다. 이번 글에서는 정상적으로 동작하는 오버로딩 예제와, 모호성으로 인해 컴파일 오류가 발생하는 예제를

  18. C# 돌연변이 테스트(Mutation Testing)의 이해와 VisualMutant 활용법

    C#에서의 돌연변이 테스트란?C#의 돌연변이 테스트(Mutation Testing)는 현재 솔루션에 포함된 테스트 스위트(Test Suite)의 품질을 검증하는 기법입니다. 단순히 테스트가 통과되는지 확인하는 것을 넘어, 의도적으로 코드에 작은 변화(돌연변이)를 일으켜 기존 테스트가 이를 제대로 잡아내는지 평가함으로써 테스트 코드의 신뢰성을 측정할 수 있습니다.VisualMutant 소개이러한 돌연변이 테스트를 수행하기 위해 VisualMutant라는 도구를 사용할 수 있습니다. VisualMutant는 Visual Studio I

  19. C#에서 나만의 글꼴로 인쇄하는 방법

    C#에서 사용자 지정 글꼴로 인쇄하기C#에서 자신만의 글꼴로 인쇄하려면 먼저 다음 두 가지 객체를 생성해야 합니다.FontFamily 객체Font 객체이 두 객체의 역할은 서로 다릅니다. FontFamily 객체는 Arial, Times New Roman 등과 같은 서체(글꼴 종류)를 지정하고, Font 객체는 해당 글꼴의 크기와 스타일을 설정합니다.Arial 글꼴 스타일 생성 예제간단한 예제를 통해 Arial 글꼴 스타일을 만들어 보겠습니다.FontFamily myFontFamily = new FontFamily(Arial); F

  20. C#에서 단일 변수와 여러 변수 출력하기

    C# 프로그래밍에서 변수 값을 화면에 출력하는 것은 가장 기본적이면서도 중요한 작업입니다. 이 글에서는 Console.WriteLine() 메서드를 사용하여 단일 변수와 여러 변수를 출력하는 방법을 예제와 함께 살펴보겠습니다. 단일 변수 출력하기 C#에서 단일 변수의 값을 출력하려면 Console.WriteLine() 메서드를 사용하면 됩니다. 문자열과 변수를 더하기(+) 연산자로 연결하여 출력할 수 있습니다. 다음 예제는 변수 a의 값을 한 줄로 출력하는 코드입니다. 예제 using System; using System.

Total 2668 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:28/134  20-컴퓨터/Page Goto:1 22 23 24 25 26 27 28 29 30 31 32 33 34