반응형
사전 객체로 LINQ 그룹화
에서 LINQ를 사용하여를 만들려고 Dictionary<string, List<CustomObject>>
합니다 List<CustomObject>
. "var"을 사용하여이 작업을 수행 할 수 있지만 익명 형식을 사용하고 싶지 않습니다. 여기 내가 가진 것입니다
var x = (from CustomObject o in ListOfCustomObjects
group o by o.PropertyName into t
select t.ToList());
또한 Cast<>()
일단 LINQ 라이브러리에서 사용하려고 시도했지만 x
유효하지 않은 캐스트의 결과로 컴파일 문제가 발생합니다.
Dictionary<string, List<CustomObject>> myDictionary = ListOfCustomObjects
.GroupBy(o => o.PropertyName)
.ToDictionary(g => g.Key, g => g.ToList());
@Michael Blackburn에 대해서는 언급 할 수 없지만이 경우 GroupBy가 필요하지 않기 때문에 공감대를 얻었을 것입니다.
다음과 같이 사용하십시오.
var lookupOfCustomObjects = listOfCustomObjects.ToLookup(o=>o.PropertyName);
var listWithAllCustomObjectsWithPropertyName = lookupOfCustomObjects[propertyName]
또한 GroupBy (). ToDictionary ()를 사용할 때보 다 성능이 우수하다는 것을 알았습니다.
@ atari2600의 경우 람다 구문에서 ToLookup을 사용하는 방법은 다음과 같습니다.
var x = listOfCustomObjects
.GroupBy(o => o.PropertyName)
.ToLookup(customObject => customObject);`
기본적으로 IGrouping을 가져와 PropertyName 값을 키로 사용하여 목록 사전으로 구체화합니다.
참고 URL : https://stackoverflow.com/questions/6361880/linq-group-by-into-a-dictionary-object
반응형
'programing tip' 카테고리의 다른 글
XElement의 InnerXml을 얻는 가장 좋은 방법은 무엇입니까? (0) | 2020.06.16 |
---|---|
해시에서 키와 값 교환 (0) | 2020.06.16 |
이 파이썬 스 니펫에서 세미콜론이 허용되는 이유는 무엇입니까? (0) | 2020.06.16 |
Java 현재 컴퓨터 이름과 로그인 한 사용자? (0) | 2020.06.16 |
ASP.NET MVC에서 모델 상태 오류 수집을 어떻게 얻습니까? (0) | 2020.06.16 |