2011-02-01 5 views
0

이것은 내 사전입니다.사전에 하드 코드 된 값을 부여하는 방법

Dictionary<string, Test> test = new Dictionary<string, Test>(); 

시험에서 나는 ID, 이름, 점수를 얻고 있습니다. 하드 코딩 된 값으로이 속성을 채우고 싶습니다. (두 개 이상의 개수).

어떻게

내가 같이 제공해야하는지 여부

을 사전에 정적 값을 제공하는 ...

Dictionary<string, Test> test= new Dictionary<string, Test>(); 
Groups groups = new Groups(); 
groups.Id = "1"; 
groups.Name = "Name"; 
groups.Description = "Desc"; 
test.Add(groups.Id, groups); 

답변

1

당신은 C#에서 구문 initialiser 컬렉션을 사용할 수 있습니다 3 & 4 :

var data = new Dictionary<String,Object> { 
    { "Foo", "Bax" }, 
    { "Bar", new DateTime(2010,10,10) }, 
    { "Xyzzy", 42 } 
}; 

추가 : T 그는 업데이트 된 질문 코드 :

Dictionary<string, Test> test= new Dictionary<string, Groups> { 
    { 
    "1", new Groups { 
     Id = "1", 
     Name = "Name", 
     Description = "Desc" 
    } 
    }, { 
    "2", new Groups { 
     Id = "2", 
     Name = "Another Name", 
     Description = "Something  } 
    } 
}; 
+0

:

Dictionary<string, Test> test= new Dictionary<string, Test>(); Groups groups = new Groups(); groups.Id = "1"; groups.Name = "Name"; groups.Description = "Desc"; test.Add(groups.Id, groups); 

은 (또한 값 유형이 Groups 것 같다 지적, 여러 키 - 값 쌍을 추가하는 방법을 보여주는) 하나의 표현으로 다시 쓸 수있다 내가 이렇게 해야하는지 ........ Dictionary test = new Dictionary (); var 데이터 = 새 사전 {{1, "A", A "}, {2,"B ", B"}, }; – RobinHood

+0

나는 위의 코드를 업데이트했다. 나는 그와 같이 제공해야한다. – RobinHood

+0

@RobinHood : 아니, 작동하지 않을 것이다. 안 괄호의 첫 번째 멤버는 키이고 두 번째 멤버는 값입니다. 각 쌍의 두 번째 멤버는'Test'의 정의에 의존하는'Test'를 초기화 할 수 있어야합니다. 가장 간단한 방법은 생성자를 호출하는 것입니다. 리터럴은 정의 된 적절한 암시 적 변환으로도 작동합니다. – Richard

관련 문제