LINQ를 사용하여 기존 사전에서 새 사전을 만들고 프로세스에서 중복을 제거하려고합니다.C에서 LINQ를 사용하여 사전의 중복 줄이기
Dictionary<LoaderConfig, List<ColumnInfo>> InvalidColumns = new Dictionary<LoaderConfig, List<ColumnInfo>>();
public struct LoaderConfig
{
public string ObjectName { get; set; }
public DateTime? LoadDate { get; set; }
public string Load { get; set; }
public string TableName { get; set; }
}
public struct ColumnInfo
{
public string ColumnName { get; set; }
public string DataType { get; set; }
public int DataLength { get; set; }
}
는 내가 함께 결국 원하는 것은 키가 LoaderConfig 오브젝트의 TABLENAME 속성과 ColumnInfo 개체 목록입니다 Dictionary<string, List<ColumnInfo>>
각 TABLENAME 고유되어 다음과 같이
기존 사전입니다 .
나는 내가 찾은 또 다른 게시물에 기반이 시작 :
때문에 먼저 작동하지 않습니다var alterations = InvalidColumns
.GroupBy(pair => pair.Key.TableName)
.Select(group => group.First())
.ToDictionary(pair => pair.Key.TableName, pair => pair.Value);
(). LINQ 확장을 사용하여이를 실현하는 방법이 있다고 상상해보십시오. 찾는 데 도움이 필요합니다.
감사합니다.
아야. 왜'LoaderConfig'는'struct'입니까? 나는 그것이되어야한다고 생각하지 않는다. –
당신을위한 복제물이란 무엇입니까? 테이블 이름과 열 이름입니까? 'LoaderConfig'와'ColumnInfo'의 모든 값입니까? –
복제본은 LoaderConfig.TableName 및 ColumnInfo 개체 조합이됩니다. – Paul