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) 
{ 
    ................ 
    .................. 
} 
抱歉,它将返回列表抱歉,它将返回列表