C#에서 값을 사용하여 목록 초기화

Syed Hassan Sabeeh Kazmi 2023년10월12일
  1. List<T> 클래스를 사용하여 C#에서 값으로 목록 초기화
  2. List.Add() 메서드를 사용하여 C#에서 값으로 목록 초기화
  3. C# 컬렉션 이니셜라이저를 사용하여 값이 있는 목록 초기화
C#에서 값을 사용하여 목록 초기화

이 자습서에서는 목록을 초기화하고 구현 세부 정보를 처리하는 다양한 방법을 알려줍니다. C#을 사용하면 프로그래머가 목록을 인스턴스화하고 new 키워드로 초기화하고 단일 문에서 멤버 할당을 수행할 수 있습니다.

이 자습서의 기본 목표는 C# 개발자가 List<T> 컬렉션 클래스를 사용하여 일반 목록 및 구현에 익숙해지는 것입니다. 일반 List<T> 클래스는 System.Collections.Generic 네임스페이스에 속하며 .NET Framework에서 정의한 가장 간단한 컬렉션 클래스 중 하나입니다.

목록에는 여러 유형의 개체를 저장할 수 있는 기능이 있는 간단한 순서가 지정된 요소 목록이 있습니다. C#의 List<T> 클래스는 ICollection, IEnumerable, IList, ICollection<T>, IEnumerable<T>IList<T> 인터페이스를 구현합니다.

List<T> 클래스를 사용하여 C#에서 값으로 목록 초기화

List<T> 클래스의 T는 특정 유형과의 클래스 상호 연결성을 나타내는 선언을 나타냅니다. 목록 클래스의 선언(List<T> listName; // 선언)은 작업하고 조작할 데이터 유형을 명확히 합니다.

기본 생성자와 함께 new 키워드를 사용하여 listName 변수에 임시로 저장할 빈 목록을 초기화합니다(listName = new List<T>(); // 목록 초기화). 목록의 기본 용량은 0개 항목이므로 유용한 list.Capacity<T> 속성을 사용하여 목록에 다른 용량을 할당할 수 있습니다.

목록의 용량은 가변적이며 List<T>.TrimExcess 메서드를 사용하거나 인덱스에서 쉽고 효율적으로 액세스할 수 있는 강력한 형식의 개체 목록을 초기화하도록 아래 구문을 명시적으로 설정하여 줄일 수 있습니다. 씨#.

List<T>.Capacity` property. Use `new List<Type> {Value1, Value2, ..., ValueN};

예제 코드:

using System;
using System.Collections.Generic;

public class listInitialization {
  public static void Main(string[] args) {
    // array as a parameter
    string[] array = { "value1", "value2", "value3" };

    // list initialization with values
    List<string> expList = new List<string>(array);

    // an alternative approach to initialize a list with values using the `List<T>` class | it is
    // called single-line list initialization with values
    List<string> expListAlt = new List<string>() { "value1", "value2", "value3" };

    // display the `expList` list
    Console.WriteLine("You initialized a list with " + expList.Count + " values.");
  }
}

출력:

You initialized a list with 3 values.

List<T> 인터페이스는 C#의 ArrayList 클래스와 동일하며 요구 사항에 따라 동적으로 증가할 수 있는 배열을 사용합니다. 목록의 용량이 64비트 시스템에서 20억 요소로 증가할 수 있으므로 잠금을 통해 스레드의 안전을 보장하는 값 조작(읽기 및 쓰기)을 위해 여러 스레드에서 액세스할 수 있도록 사용자 지정 동기화를 구현할 수 있습니다. 목록.

List.Add() 메서드를 사용하여 C#에서 값으로 목록 초기화

목록의 구문은 처음에는 혼란스럽지만 엄격한 메모리 또는 성능 제약이 없는 C# 프로그램에 이상적입니다. List.Add() 메서드를 사용하여 선언 후 목록에 새 요소를 추가할 수 있지만 선언 시 요소를 만들 수도 있습니다.

매개 변수가 없는 생성자의 도움으로 0 용량의 문자열 목록을 만드는 것은 목록 초기화의 보편적인 방법입니다. List 클래스의 Add() 메서드를 사용하여 여러 문자열 값을 목록에 추가할 수 있습니다.

예제 코드:

using System;
using System.Collections.Generic;

public class listInitialization {
  public static void Main(string[] args) {
    // using `Add()` method to initialize a list with string values
    List<string> expList = new List<string>();
    expList.Add("value1");
    expList.Add("value2");
    expList.Add("value3");
    expList.Add("value4");
    expList.Add("value5");

    // display the `expList` list
    Console.WriteLine("You initialized a list with " + expList.Count + " values.");
  }
}

출력:

You initialized a list with 5 values.

이 방법의 가장 흥미로운 점은 목록의 용량을 자동으로 확인하고 필요할 때마다 크기를 조정한다는 것입니다. 목록 끝에 값을 추가하고 값의 인덱스를 반환하므로 용량을 쉽게 확장할 수 있습니다.

C# 컬렉션 이니셜라이저를 사용하여 값이 있는 목록 초기화

컬렉션 이니셜라이저 구문은 C# 3.0에서 처음 도입되었으며 그 이후로 컬렉션에 값을 할당하는 것이 유용했습니다. 중괄호 표기법을 사용하여 목록을 초기화하는 단축 구문이며, 선언 시 모든 값이 한 번에 할당됩니다.

일반적으로 C# 컴파일러에서 Add() 메서드를 여러 번 호출하기 위한 약식 표기법으로 알려져 있습니다. List<string> name = new List<string>을 사용하여 목록을 초기화하고 중괄호를 사용하여 객체를 채워 {new Element() {Id = 1, Name = "first"}와 같은 값을 정의할 수 있습니다. Element 클래스의

개별 개체 이니셜라이저를 사용하면 목록을 만들고 중괄호로 묶고 쉼표로 구분된 초기 값 집합으로 목록을 채울 수 있습니다. 알려진 값 집합에서 C#으로 목록을 만드는 작업이 매우 쉬워졌습니다.

배열 리터럴 구문과 유사하게 From 키워드 뒤에 중괄호 {}를 사용하여 컬렉션 이니셜라이저를 식별할 수 있습니다. From 키워드가 앞에 오는 중괄호 {}로 묶인 쉼표로 구분된 값 목록으로 구성됩니다.

예제 코드:

using System;
using System.Collections.Generic;

public class listInitialization {
  public static void Main(string[] args) {
    // using `C# Collection Initializers` to initialize a list with values
    List<Element> expList = new List<Element>() { new Element() { Id = 1, Name = "value1" },
                                                  new Element() { Id = 2, Name = "value2" },
                                                  new Element() { Id = 3, Name = "value3" },
                                                  new Element() { Id = 4, Name = "value4" } };

    // display the `expList` list
    Console.WriteLine("You initialized a list with " + expList.Count + " values.");
  }
}

// create a class to define list values
public class Element {
  public int Id { get; set; }
  public string Name { get; set; }
}

출력:

You initialized a list with 4 values.

이 자습서에서는 문자열 값을 사용하여 목록을 만들고 초기화하는 방법을 배웠습니다. 이 튜토리얼은 값을 사용한 목록 초기화에 대한 완전한 소개를 제공했으며 목록 초기화의 주요 개념을 명확히 하기 위해 컴파일 가능한 C# 코드 예제를 포함합니다.

C# 프로그램은 종종 숫자 읽기와 같은 간단한 작업을 수행하고 목록을 사용하여 이러한 항목을 발견할 때 초기화하고 추가할 수 있습니다. 생성자 다음에 할당문을 호출하지 않고 생성 시 목록 속성의 액세스 가능한 필드에 값을 할당할 때 목록 이니셜라이저가 중요해졌습니다.

Syed Hassan Sabeeh Kazmi avatar Syed Hassan Sabeeh Kazmi avatar

Hassan is a Software Engineer with a well-developed set of programming skills. He uses his knowledge and writing capabilities to produce interesting-to-read technical articles.

GitHub

관련 문장 - Csharp List