C# Linq中的使用方法

C# Linq中的使用方法,c#,linq,C#,Linq,我编写了此方法来转换日期: Public Static string ConvertDate(DateTime dt) { .... } 我想在Linq代码中使用此方法: var lst = (from L in AllList select new { ConvertDate(L.DateReg).ToString(), L.LastName, L.FirstName}); 但是上面的代码中有一个错误。正确的代码是什么?定义匿名对象时,编译器必须能够为对象的属性命名。

我编写了此方法来转换日期:

Public Static string ConvertDate(DateTime dt)
{
....
}
我想在Linq代码中使用此方法:

var lst = (from L in AllList
           select new { ConvertDate(L.DateReg).ToString(), L.LastName, L.FirstName});

但是上面的代码中有一个错误。正确的代码是什么?

定义匿名对象时,编译器必须能够为对象的属性命名。它可以隐式地为属性、字段和其他命名变量执行此操作,但不能为方法调用执行此操作。给它起个名字

var lst = (from L in AllList 
       select new { Date = ConvertDate(L.DateReg).ToString(), L.LastName, L.FirstName}); 
var query =
    from item in AllList
    select new
    {
        DateReg = ConvertDate(item.DateReg), // lets call it DateReg
        item.LastName,
        item.FirstName,
    };

尝试指定匿名类型的属性名称

var lst = (from L in AllList
           select new { DateReg = ConvertDate(L.DateReg).ToString(), LastName =L.LastName, FirstName = L.FirstName});

通常,如果有错误,您应该告诉我们错误是什么以及错误发生的确切位置。