如何返回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'

如何返回IEnumerable类型作为对象

实际上,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