C #에서 값 목록을 만드는 빠른 방법?


106

C #에서 값 목록을 만드는 빠른 방법을 찾고 있습니다. Java에서는 아래 스 니펫을 자주 사용합니다.

List<String> l = Arrays.asList("test1","test2","test3");

아래의 명백한 것 외에 C #에 상응하는 것이 있습니까?

IList<string> l = new List<string>(new string[] {"test1","test2","test3"});

답변:



19

혼란을 줄이려면 다음을 고려하십시오.

var lst = new List<string> { "foo", "bar" };

여기에는 C # 3.0의 두 가지 기능인 유형 유추 ( var키워드)와 목록에 대한 컬렉션 이니셜 라이저가 사용됩니다.

또는 배열로 할 수 있다면 더 짧습니다 (소량으로).

var arr = new [] { "foo", "bar" };

2
나는 일반적으로 어떤 기반으로 내 데이터 구조를 선택할 수없는 것 중 하나는 ... 초기화 적은 문자를 소요
Harrichael

1
@Harrichael 맞고, 나도 아닙니다. 그러나 목록이 필요하지 않으면 목록을 사용할 이유가 없습니다.
Konrad Rudolph

10

C # 3에서는 다음을 수행 할 수 있습니다.

IList<string> l = new List<string> { "test1", "test2", "test3" };

이것은 C # 3의 새로운 컬렉션 이니셜 라이저 구문을 사용합니다.

C # 2에서는 두 번째 옵션 만 사용합니다.


Nitpick : 개체 이니셜 라이저가 아닌 컬렉션 이니셜 라이저.
Timwi


5

new string[]부품을 삭제할 수 있습니다 .

List<string> values = new List<string> { "one", "two", "three" };


3

당신은 그것을 할 수 있습니다

var list = new List<string>{ "foo", "bar" };

다음은 다른 일반적인 데이터 구조의 다른 일반적인 인스턴스화입니다.

사전

var dictionary = new Dictionary<string, string> 
{
    { "texas",   "TX" },
    { "utah",    "UT" },
    { "florida", "FL" }
};

배열 목록

var array = new string[] { "foo", "bar" };

var queque = new Queue<int>(new[] { 1, 2, 3 });

스택

var queque = new Stack<int>(new[] { 1, 2, 3 });

대부분의 경우에서 볼 수 있듯이 중괄호로 값을 추가하거나 중괄호와 값이 뒤 따르는 새 배열을 인스턴스화하는 것입니다.


1

도우미 일반 정적 메서드를 만들어 목록을 만들 수 있습니다.

internal static class List
{
    public static List<T> Of<T>(params T[] args)
    {
        return new List<T>(args);
    }
}

그리고 사용량은 매우 간결합니다.

List.Of("test1", "test2", "test3")

1

값이있는 형식화 된 목록을 만들려면 다음과 같은 구문이 있습니다.

같은 학생 클래스 가정

public class Student {
   public int StudentID { get; set; }
   public string StudentName { get; set; }
 }   

다음과 같이 목록을 만들 수 있습니다.

IList<Student> studentList = new List<Student>() { 
                new Student(){ StudentID=1, StudentName="Bill"},
                new Student(){ StudentID=2, StudentName="Steve"},
                new Student(){ StudentID=3, StudentName="Ram"},
                new Student(){ StudentID=1, StudentName="Moin"}
            };

-5

값 목록을 빨리? 또는 개체 목록까지!

저는 C # 언어의 초보자에 불과하지만

  • 해시 테이블
  • 배열 목록
  • 데이터 테이블
  • 데이터 세트

기타

항목을 저장하는 방법이 너무 많습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.