0

我有一个 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”

4

4 回答 4

1

更新以返回 IEnumerable 类型

public List<Myclass> method(string str)
{
 var p1 = new MyClass();
 return p1.ToList();
}

利用typeof(boject)c# 中已有的

你也可以这样做Type t = t1.GetType();

在此之后,您可以获得这样的类型的全名MessageBox.Show(t.FullName);

为你编码它 p1 应该是MyClass你返回它 的类型

public Myclass method(string str)
{
 var p1 = new MyClass();
 return p1;
}

需要注意的是var类型变量是转换为您分配的类型。

来自 MSDNvar

隐式类型的局部变量是强类型的,就像您自己声明了类型一样,但编译器确定类型。i 的以下两个声明在功能上是等效的:

var i = 10; // implicitly typed
int i = 10; //explicitly typed
于 2013-03-13T07:03:00.460 回答
1

实际上,var 不是类型,而是关键字,C# 是静态类型的,这意味着编译器将运行您的程序并为每个 var 确定其真正的类型

所以对于您的问题,您已经知道某些数据的类型,您只需将其写为返回类型(不要偷懒:))

在此处阅读有关此问题的更多信息

于 2013-03-13T07:06:55.193 回答
0

var只是一个简短的任务。var总是有类型。

var

隐式类型的局部变量是强类型的,就像您自己声明了类型一样,但编译器确定类型。

您可以返回对象。如果您不确定DataType

于 2013-03-13T07:06:25.457 回答
0

@mike z 在他的评论中是正确的:'var' 成为其分配的类型。因此,如果您这样做,它将起作用:

var result = new MyClass();
return result;
于 2013-03-13T07:08:15.823 回答