2
어떤 접근 방식이 더 빠르거나 둘 다 같은 IL로 컴파일합니까?루프를 반복하면 루프 문 외부에서 반복 컬렉션을 파생시키는 것이 더 빠릅니까?
var myCollection = new Dictionary<string, string>(){{"a", "aa"}, {"b", "bb"}, {"c", "bb"}};
foreach (var uniqueItem in myCollection.Values.Distinct())
{
//do something
}
var myCollection = new Dictionary<string, string>() { { "a", "aa" }, { "b", "bb" }, { "c", "bb" } };
var uniqueItems = myCollection.Values.Distinct();
foreach (var uniqueItem in uniqueItems)
{
//do something
}
IL에서 디버그 모드의 추가 할당은 반복 횟수에 관계없이 한 번 수행됩니까? –
예, 메소드를 다시 호출하지 않고 * myCollection.Values.Distinct() * 값을 스택에 저장합니다. – Elisha
큰 감사 ... –