C# 传递参数
我将参数作为变量类型传递给函数。它不接受,我如何传递到函数 范例C# 传递参数,c#,.net-3.5,var,C#,.net 3.5,Var,我将参数作为变量类型传递给函数。它不接受,我如何传递到函数 范例 var Input = ................ listview1.itemsource = getinput(Input); public List<answers>getinput(var inp) { ................ .................. } 这里函数不接受var。我能做什么?在函数中使用对象而不是var。然后将其转换为函数中的适当类型。在函数中使用对象而不是va
var Input = ................
listview1.itemsource = getinput(Input);
public List<answers>getinput(var inp)
{
................
..................
}
这里函数不接受var。我能做什么?在函数中使用对象而不是var。然后将其转换为函数中的适当类型。在函数中使用对象而不是var。然后将其转换为函数中的适当类型。它不接受第三行,因为您的函数是键入void,您尝试将该函数的结果分配给listview1.itemsource。它不接受第三行,因为您的函数是void类型,您尝试将该函数的结果分配给listview1.itemsource。只有在同一语句中声明并初始化局部变量时,才能使用var;无法将变量初始化为null、方法组或匿名函数 MSDN:var只能在同一语句中声明和初始化局部变量时使用;无法将变量初始化为null、方法组或匿名函数 MSDN:var用于类型推断,而不是声明动态变量。使用实际输入类型作为inp的类型。var用于类型推断,而不是声明动态变量。使用实际输入类型作为inp的类型 只要C是强类型语言,编译器就会知道变量所属的实类型:
var Input = ....
类型。。。。这是众所周知的。这就是你不能申报的原因
var a;
而这正是你在这方面所要做的
public void getinput(var inp)
{
................
..................
}
只要C是强类型语言,编译器就会知道变量所属的实类型:
var Input = ....
类型。。。。这是众所周知的。这就是你不能申报的原因
var a;
而这正是你在这方面所要做的
public void getinput(var inp)
{
................
..................
}
正如其他人所说,您混合了隐式类型变量类型推断和显式类型函数签名 你应该做的是:
var Input = txtQuestion.text; // Implicitly typed variable of type string
listview1.itemsource = getinput(Input);
// Strongly typed method taking string, returning List<answers>
public List<answers>getinput(string question)
{
var result = new List<answers>();
result.Add(answer);
return result;
}
很抱歉,如果这与您的代码不完全匹配,但它应该说明您的目标
var关键字用于从赋值运算符的右侧推断变量的类型。在方法的签名中,没有赋值运算符,因此无法进行推理。此外,您始终可以传递从基类派生的任意数量的类型,这将使编译器难以确定参数的正确类型。您是指DbReader、SqlDbReader还是IDbReader
可以推断变量。参数不能。正如其他人所说,您混合了隐式类型变量类型推断和显式类型函数签名 你应该做的是:
var Input = txtQuestion.text; // Implicitly typed variable of type string
listview1.itemsource = getinput(Input);
// Strongly typed method taking string, returning List<answers>
public List<answers>getinput(string question)
{
var result = new List<answers>();
result.Add(answer);
return result;
}
很抱歉,如果这与您的代码不完全匹配,但它应该说明您的目标
var关键字用于从赋值运算符的右侧推断变量的类型。在方法的签名中,没有赋值运算符,因此无法进行推理。此外,您始终可以传递从基类派生的任意数量的类型,这将使编译器难以确定参数的正确类型。您是指DbReader、SqlDbReader还是IDbReader
可以推断变量。参数不能使用。var只是在JavaScript代码中作为变量使用。如果您使用的是var,那么您可以使用string或object
public void getinput(object inp)
{
................
..................
}
public void getinput(string inp)
{
................
..................
}
var只是作为一个变量在JavaScript代码中使用。如果您使用的是var,那么您可以使用string或object
public void getinput(object inp)
{
................
..................
}
public void getinput(string inp)
{
................
..................
}
抱歉,它将返回列表抱歉,它将返回列表