如何返回IEnumerable类型作为对象
本文关键字:类型 对象 IEnumerable 何返回 返回 | 更新日期: 2023-09-27 18:03:33
我有一个var (IEnumerable),我想把它返回给一个类。
public Myclass method(string str)
{
...................
var p1 = some data;
return ?
}
public class Myclass
{
public string a { get; set; }
public string b { get; set; }
public bool c { get; set; }
...........................
}
我的意图是通过webAPI返回值。为了作为webAPI返回,我创建了一个模型类,其中包含我想通过webAPI返回的变量—即'Myclass'
实际上,var不是一个类型,而是一个关键字,c#是静态类型的,这意味着编译器将运行你的程序,并为每个var决定它的实际类型
对于你的问题,你已经知道你的一些数据的类型,你需要做的就是把它写为返回类型(不要偷懒:))
在这里阅读更多关于这个问题的信息
更新返回IEnumerable类型
public List<Myclass> method(string str)
{
var p1 = new MyClass();
return p1.ToList();
}
使用c#中已有的typeof(boject)
你也可以这样做Type t = t1.GetType();
之后,您可以获得类型的全名,如MessageBox.Show(t.FullName);
对于你的代码,它p1应该是类型MyClass
当你返回它
public Myclass method(string str)
{
var p1 = new MyClass();
return p1;
}
需要注意的是var
类型变量将被转换为您指定的类型。
From MSDN var
隐式类型局部变量是强类型的,就像您自己声明了该类型一样,但由编译器确定类型。下面两个i的声明在功能上是等价的:
var i = 10; // implicitly typed
int i = 10; //explicitly typed
@mike z的评论是正确的:'var'成为其赋值的类型。如果你这样做,它会起作用:
var result = new MyClass();
return result;
var
只是一个简单的赋值。var
的类型总是。
var
隐式类型局部变量是强类型的自己声明了类型,但由编译器决定。
可以返回object。如果你不确定DataType