如何使用LINQ从Object中按顺序选择属性?

时间:2014-06-25 16:07:29

标签: c# linq

如何使用Linq从List对象中按顺序选择属性?

public class Test
{
    public int A { get; set; }
    public string B { get; set; }
    public DateTime C { get; set; }
    public float D { get; set; }
}

例如List<Test> test1,所以我希望LINQ选择中的C,D,B,A顺序的属性。我们怎么能这样做?

我正在为epplus excel包做这个。它读取列表中的内容。

var dataRange = wsData.Cells["A1"].LoadFromCollection(
                    from s in list                    
                    select s, 
                    true,
                    OfficeOpenXml.Table.TableStyles.Medium2);

1 个答案:

答案 0 :(得分:1)

如果您想将Test类的属性作为列添加到其他列(trueMedium2),则需要为其创建匿名类型:

var dataRange = wsData.Cells["A1"].LoadFromCollection(
    from s in list
    select new {
        s.C
    ,   s.D
    ,   s.B
    ,   s.A
    ,   Flag=true
    ,   OfficeOpenXml.Table.TableStyles.Medium2
    }
);