select new"/>

关于c#:如何从方法中返回匿名类型?

关于c#:如何从方法中返回匿名类型?

How can I return an anonymous type from a method?

我有一个Linq查询,想从多个地方调用:

1
2
3
4
5
6
var myData = from a in db.MyTable
             where a.MyValue =="A"
             select new  {
                            a.Key,
                            a.MyValue
                          };

如何创建方法,将其放入其中,然后调用它?

1
2
3
4
public  ???  GetSomeData()
{
   // my Linq query
}

IQueryable和IEnumerable都可以工作。但是您要使用特定于类型的版本,即IQueryable < T >或IEnumerable < T >

因此,您将要创建一个类型来保留数据。

1
2
3
4
5
6
7
var myData = from a in db.MyTable
             where a.MyValue =="A"
             select new MyType
             {
                 Key = a.Key,
                 Value = a.MyValue
             };

IQueryable

所以您的方法声明看起来像

1
public IQueryable GetSomeData()


通用方法应为您提供智能感知:

1
2
3
4
5
6
7
public class MyType {Key{get;set;} Value{get;set}}

public IQueryable< T > GetSomeData< T >() where T : MyType, new()
 { return from a in db.MyTable
          where a.MyValue =="A"
          select new T {Key=a.Key,Value=a.MyValue};
 }

如果要返回,则需要输入类型。

而不是var,使用IEnumerable<>声明并返回该变量。遍历它实际上执行查询。


推荐阅读

    linux终端返回命令行?

    linux终端返回命令行?,密码,状态,平台,系统,电脑,环境,认证,地址,终端,命令,

    浏览器调用linux命令?

    浏览器调用linux命令?,系统,信息,人工智能,软件,数据,首次,地址,代码,咨询,

    linux线程查询命令?

    linux线程查询命令?,系统,第一,线程,命令,软件,名称,信息,进程,选项,方法,Lin

    py调用linux的命令?

    py调用linux的命令?,系统,代码,状态,环境,标准,工具,命令,文件,脚本,终端,lin

    linux简单查询命令?

    linux简单查询命令?,地址,命令,信息,设备,电脑,系统,工作,文件,终端,内容,Lin

    linux系统命令调用?

    linux系统命令调用?,系统,单位,工具,工作,管理,地址,权威,密码,电脑,信息,怎

    查询linux上调度命令?

    查询linux上调度命令?,系统,策略,实时,信息,状态,时间,进程,电脑,报告,分析,L

    linux查询网关命令?

    linux查询网关命令?,网络,信息,地址,环境,系统,网关,名字,中心,状态,命令,lin

    linux命令行返回桌面?

    linux命令行返回桌面?,系统,密码,状态,暂停,环境,终端,信息,命令,界面,字符,l

    linux的vi返回命令?

    linux的vi返回命令?,状态,电脑,档案,编辑,命令,文件,模式,键盘,冒号,内容,Lin

    linux使用命令的方法?

    linux使用命令的方法?,系统,信息,工具,标准,数据,命令,左下角,目录,文件夹,

    linux命令的返回值?

    linux命令的返回值?,系统,工具,位置,管理,暂停,状态,项目,环境,数据,基础,lin

    脚本调用linux命令?

    脚本调用linux命令?,代码,系统,工作,底部,脚本,位置,环境,行用,官网,标准,typ

    linux命令查询参数?

    linux命令查询参数?,网络,信息,设备,系统,服务,状态,情况,工作,地址,命令,Lin

    linux查询硬盘命令行?

    linux查询硬盘命令行?,情况,系统,信息,工具,单位,软件,命令,服务,电脑,分析,

    调用函数命令linux?

    调用函数命令linux?,系统,管理,网络,通用,统一,观察,地址,代码,设备,地方,怎

    linux查询分辨率命令?

    linux查询分辨率命令?,情况,设备,系统,分辨率,数据,命令,屏幕,屏幕分辨率,

    linux常用命令查询?

    linux常用命令查询?,工作,地址,系统,信息,命令,目录,管理,标准,常用命令,控

    linux命令查询汉语?

    linux命令查询汉语?,工作,地址,系统,信息,命令,目录,标准,状态,软件,亚洲,基

    linux下查询历史命令?

    linux下查询历史命令?,地址,信息,系统,服务,数据,连续,命令,数字,名称,环境,l