编码类型为var

时间:2011-03-24 20:49:08

标签: c# encoding var

if (radioButton1.Checked) {
    var Enc = Encoding.Unicode;
}

var text = File.ReadAllText(filePath, (Enc);

它不起作用,任何使编码类型为var的方法,以后我可以p

2 个答案:

答案 0 :(得分:7)

问题不是使用var - 你已经在一个块中声明了变量,然后你试图在块中使用它。

这是另一种选择:

var encoding = Encoding.UTF8; // Default to UTF-8

if (useUtf16RadioButton.Checked)
{
    encoding = Encoding.Unicode;
}
var text = File.ReadAllText(filePath, encoding);

答案 1 :(得分:0)

问题是你必须在用var声明变量时赋值,这样可以推断出类型(你也只是在if条件的范围内指定了Enc所以不能使用它之后):

var Enc = Encoding.UTF8; //default
if (radioButton1.Checked) {
    Enc = Encoding.Unicode;
}

var text = File.ReadAllText(filePath, Enc);