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
C# 比较具有某些参数的两个不同类型的列表,选择另一个_C#_List_Arguments_Compare - Fatal编程技术网

C# 比较具有某些参数的两个不同类型的列表,选择另一个

C# 比较具有某些参数的两个不同类型的列表,选择另一个,c#,list,arguments,compare,C#,List,Arguments,Compare,我有两个不同类型的列表a和b,我想从列表b到c选择数据,b.SureName=a.SName和b.LastName=b.LName和b.Date>=a.StartDate和b.Date您可以做的 public List<C> GetProperty(List<A> a, List<B> b) { IEnumerable<IEnumerable<C>> ccc = b.Select(bb =>

我有两个不同类型的列表a和b,我想从列表b到c选择数据,b.SureName=a.SName和b.LastName=b.LName和b.Date>=a.StartDate和b.Date您可以做的

public List<C> GetProperty(List<A> a, List<B> b)
{
    IEnumerable<IEnumerable<C>> ccc = 
              b.Select(bb => a.Where(aa => bb.SureName == aa.SName && 
                                                          bb.LastName == aa.LName && 
                                                          bb.Date >= aa.StartDate &&
                                                          bb.Date <= aa.EndDate)
    .Select(cc => new C() { FullName = cc.SName + " " + cc.LName }));

    return ccc.SelectMany(c => c).ToList();
}

public class A
{
    public string SName { get; set; }
    public string LName { get; set; }
    public DateTime StartDate { get; set; }
    public DateTime EndDate { get; set; }
}

public class B
{
    public string SureName { get; set; }
    public string LastName { get; set; }
    public DateTime Date { get; set; }
}

public class C
{
    public string FullName { get; set; }
}

您使用的是什么语言?请标记您使用的编程语言。您好,谢谢您的回答,但什么是?cc=>新的CClass{.CProperty=cc.SomeProperty}?这是列表a或b中的属性还是其他属性?有了这个c=b.Selectbb=>a.Selectaa=>bb.SureName==aa.SName和bb.LastName==aa.LName和bb.Date>=aa.StartDate和bb.Date很好,几乎没问题。非常感谢你,目前我有一些复制品,但也许它们来自数据。让我看看。再次感谢你:Regards@kwestia:如果有帮助,请将此标记为答案。您好,将此标记为答案是什么意思?