linq 创建新的匿名对象;如何声明返回类型

除了创建一个新的未命名对象这一事实外,linq 表达式的细节并不重要:


 select new { ... }

因此我没有函数的返回类型。必须有一个通用的无类型类型,比如 Javascript 的“any”。


   public ??? Get(int id)

    {

        var hisGrade = (from p in ctx.Students

                        where p.StudentID == id

                        select new { area = p.Grade.Section, name = p.Grade.GradeName }).FirstOrDefault();

        return hisGrade;

    }

我找到的每个示例都只显示没有封闭函数的代码!


九州编程
浏览 181回答 2
2回答

守着星空守着你

您是否假设它始终必须是 Select 调用返回的匿名类型?你错了。public struct MyType{    public string Area { get; set; }    public string Name { get; set; }}class Class1{    public MyType Get(int id)    {        var hisGrade = (from p in ctx.Students                        where p.StudentID == id                        select new MyType{ Area = p.Grade.Section, Name = p.Grade.GradeName }).FirstOrDefault();        return hisGrade;    }}
打开App,查看更多内容
随时随地看视频慕课网APP