Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法合并2个列表并形成带有两年标记c#linq的主列表_C#_List - Fatal编程技术网

无法合并2个列表并形成带有两年标记c#linq的主列表

无法合并2个列表并形成带有两年标记c#linq的主列表,c#,list,C#,List,我有一个清单,清单1 CurrentYearDate Marks1 LastYearDate Marks2 09/01/2012 200 09/02/2012 10 09/03/2012 30 09/04/2012 40 CurrentYearDate Marks1 LastYearDate Marks2 09/01/2

我有一个清单,清单1

CurrentYearDate    Marks1   LastYearDate    Marks2         
09/01/2012         200       
09/02/2012         10        
09/03/2012         30
09/04/2012         40       
CurrentYearDate    Marks1   LastYearDate    Marks2         
09/01/2012         200      9/01/2011         10
09/02/2012         10       09/02/2011        10
09/03/2012         30       09/03/2011        30
09/04/2012         40       09/04/2011        40
我有一张清单和清单2

CurrentYearDate    Marks1   LastYearDate    Marks2         
                            9/01/2011         10
                            09/02/2011        10
                            09/03/2011        30
                            09/04/2011        40
我需要将这两个列表合并到一起 我有一个清单,清单1

CurrentYearDate    Marks1   LastYearDate    Marks2         
09/01/2012         200       
09/02/2012         10        
09/03/2012         30
09/04/2012         40       
CurrentYearDate    Marks1   LastYearDate    Marks2         
09/01/2012         200      9/01/2011         10
09/02/2012         10       09/02/2011        10
09/03/2012         30       09/03/2011        30
09/04/2012         40       09/04/2011        40

如果索引按照您的示例排列,使每个列表中的第一项彼此对应,那么您可以使用
Zip

var mergedLists = list1.Zip(list2, (a,b)=> new YourClassName()
    {
        CurrentYearDate = a.CurrentYearDate,
        Marks1 = a.Marks1,
        LastYearDate = b.LastYearDate,
        Marks2 = b.Mark2,
    });
如果索引不对应,则需要使用
Join

var joinedLists = list1.Join(list2, curr => curr.CurrentYearDate, last => last.LastYearDate.AddYears(1), (a,b)=> new YourClassName()
    {
        CurrentYearDate = a.CurrentYearDate,
        Marks1 = a.Marks1,
        LastYearDate = b.LastYearDate,
        Marks2 = b.Mark2,
    });