2011-05-11 3 views
0

다음과 같은 SubTopics 클래스를 채워야합니다.한 클래스에서 두 배열을 더 잘 채울 수 있습니까?

public class SubTopic 
{ 
    public int[] SubTopicId { get; set; } 
    public string[] Description { get; set; } 
} 

지금까지 설명에 삽입 할 코드가 있지만 아직 SubTopicId는 없습니다.

var description = new List<string>(); 
description.Add("afds)."); 
description.Add("afas."); 
... 
... 
description.Add("aees."); 

new SubTopic { Description = description.ToArray()} 

누구나 나를 위해 SubtopicId를 채울 수있는 간단한 방법을 생각할 수 1,2,3 .. 등 또한 어쩌면 더 나은 방법은 SubTopic 클래스를 채울 수 있습니다. 목록에 추가 한 다음 배열로 변환하는 것보다 나은 점이 있습니까?

+0

저장을 위해 어레이를 사용해야하는 특별한 이유가 있습니까? 시간이 지남에 따라 목록의 내용이 변경됩니까? –

+0

사전을 사용하지 않는 이유는 무엇입니까 ? – phoog

+0

나중에 배열을 선택했는데 클래스 내용을 가져 와서 JSON 객체로 변환하고 문자열로 저장합니다. 이런 종류의 사전이 가능합니까? 그렇다면 훌륭한 해결책이 될 것입니다. –

답변

0

당신은 클래스와 배열 이니셜 라이저를 사용할 수 있습니다 당신은 그것을 인라인으로 할 수 있습니다.

+0

당신의 방법은 좋아 보이지만 그들은 항상 순서대로 숫자의 생성을 자동화하고 싶습니다. {1, 2, 3}에 타이핑하지 않고도이 작업을 수행 할 수있는 방법이 있습니까? 감사합니다, Jen –

+0

@ Jennifer, 이렇게 할 수 있습니다 :'SubTopicId = Enumerable.Range (1, 15) .ToArray()' –

0

당신은 당신이 원하는 경우 모든 인라인을 수행 할 수 있습니다

0
for (int i = 0; i < SubTopicId.Length; i++) 
{ 
    SubTopicId[i] = i; 
} 

:

var subTopic = new SubTopic 
{ 
    SubTopicId = new[] { 1, 2, 3 }, 
    Description = new[] { "afds).", "afas.", "aees." } 
}; 
2
var description = new[]{"afds).", "afas.", /*...,*/ "aees."}; 
var subTopic = new SubTopic { 
    Description = description, 
    SubTopicId = Enumerable.Range(1, description.Length).ToArray() 
}; 
관련 문제