2016-12-06 3 views
-3

이 작업을 시도하지만 구문 오류가 발생합니다. 내가 잘못하고있는 것이 있습니까? 나는 언제나이 객체들 각각에 꼭 맞는 클래스를 만들어야 만 하는가?C# 배열 채우기 오류

var groups = [ 
    { id: 1, name: 'Conversation' }, 
    { id: 2, name: 'Business' }, 
    { id: 27, name: 'Animals' } 
]; 
+2

나에게 자바 스크립트 같은데 ... –

답변

8

그건 C#이 아닙니다. 시도 :

var groups = new [] { 
    new { id = 1, name = "Conversation" }, 
    new { id = 2, name = "Business" }, 
    new { id = 27, name ="Animals" } 
}; 

익명 형식으로 작업하는 것은 어색합니다.

var groups = new [] { 
    new Foo { Id = 1, Name = "Conversation" }, 
    new Foo { Id = 2, Name = "Business" }, 
    new Foo { Id = 27, Name ="Animals" } 
}; 
... 
class Foo { 
    public int Id {get;set;} 
    public string Name {get;set;} 
} 
+0

내가 선택하는 것 'class'에 대한'struct'를위한 것입니다. –

+0

@ AlfieGoodacre 아니오; 그것은 컴파일되지 않을 것이며, 심지어 그렇게했을지라도 : 그것은 다중성을 정확하게 표현하지 못합니다. 내가 제시 한 코드는 자바 스크립트 버전 –

+0

@MarcGravell에 가장 가까운 것이므로, C# 문서에서 이것이 유효하다는 사실을 알았습니다. int [] numbers = {1, 2, 3 , 4, 5}; - 그것은 명시 적 타이핑에만 해당하는 것 같습니까? –

-1

이 시도 : 당신 아마IdName 대신 사용할 수있는 유형을 선언 할

var groups = new object[] { new { id=1, name="Conversation" }, 
new { id=1, name="Conversation" }, 
new { id=1, name="Conversation" } 
}; 
+2

'object '를 추가하면 익명의 타입 정보를 버리는 것을 의미합니다; 그건 나쁜 생각이야. –