생성하려는 개체 수인 N을받는 메서드가 있으며 N 개체 목록을 반환해야합니다.
현재는 간단한 루프로이 작업을 수행 할 수 있습니다.
private static IEnumerable<MyObj> Create(int count, string foo)
{
var myList = new List<MyObj>();
for (var i = 0; i < count; i++)
{
myList .Add(new MyObj
{
bar = foo
});
}
return myList;
}
LINQ를 사용하여이 목록을 만드는 다른 방법이 있는지 궁금합니다.
난 노력 했어:
private static IEnumerable<MyObj> CreatePaxPriceTypes(int count, string foo)
{
var myList = new List<MyObj>(count);
return myList.Select(x => x = new MyObj
{
bar = foo
});
}
그러나 이것은 내 목록을 채우는 것 같습니다.
나는 선택을 foreach로 변경하려고 시도했지만 동일한 거래입니다.
목록 에 개수 의 용량 이 있고 LINQ가 반복 할 요소를 찾지 못한다 는 것을 깨달았습니다 .
myList.ForEach(x => x = new MyObj
{
bar = foo
});
이 작업을 수행하는 데 사용할 올바른 LINQ 연산자가 있습니까? 아니면 그냥 루프를 고수해야합니까?
Range
를 사용하여 시퀀스를 만들 수 있습니다 .
return Enumerable.Range(0, count).Select(x => new MyObj { bar = foo });
을 만들려면 List
해야 ToList
합니다.
그래도 (논란의 여지가 있지만) 분명하지 않은 해결책이므로 목록을 만드는 반복적 인 방법을 아직 버리지 마십시오.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다