나는 Foo에서 Baa까지 일대일 매핑 모음을 만들고 있습니다.LINQ를 사용하여이 알고리즘을 향상시킬 수 있습니까?
Baa에는 Foo의 고유 한 인스턴스 모음이 들어 있습니다.
Dictionary<Foo, Baa> mappings = new Dictionary<Foo, Baa>();
foreach (Baa baa in CollectionOfBaa)
{
foreach (Foo foo in baa.CollectionOfFoo)
{
mappings.Add(foo, baa);
}
}
LINQ를 사용하여이 작업을 수행 할 수있는 더 좋은 방법이 있나요 :
여기에 일을 몇 가지 코드는?
나는 사전을 KeyValuePair의 목록으로 대체하는 것이 바람직하지 않습니다.
감사합니다.
Linq에 항상 (때문에 추가 오버 헤드) foreach는 루프보다 느리게 될 것입니다. foreach 루프가 작동하는 경우, 그것으로 붙어. –
@Herbie : 대부분의 경우 성능이 가독성만큼 중요하지는 않습니다. 하지만 훨씬 더 읽기 쉬운 LINQ 버전을 찾지 못했습니다. =) – Jens
가독성은 주관적입니다. 맞습니까? 나를 위해 foreach 버전이 가장 읽기 쉽습니다. –