我有一个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'
答案 0 :(得分:1)
更新以返回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
类型,可转换为您指定的类型。
隐式类型化的局部变量是强类型的,就像您自己声明了类型一样,但编译器确定了类型。 i的以下两个声明在功能上是等效的:
var i = 10; // implicitly typed
int i = 10; //explicitly typed
答案 1 :(得分:1)
实际上,var不是类型,而是关键字,C#是静态类型的,这意味着编译器将运行在您的程序上,并且每个var决定它的真实类型
所以对于你的问题,你已经知道你需要做的一些数据的类型只是把它写成返回类型(不要懒惰:))
详细了解问题here
答案 2 :(得分:0)
var
只是一个简短的手工作业。 var
总是有类型。
<强> var
强>
隐式类型的局部变量是强类型的,就像你一样 我自己声明了类型,但编译器确定了类型。
您可以返回对象。如果您不确定DataType
答案 3 :(得分:0)
@mike z在他的评论中是正确的:'var'成为其作业的类型。所以,如果你这样做,它将起作用:
var result = new MyClass();
return result;