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

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

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

4

2 回答 2

7

问题不在于使用var- 您已经在块内声明了变量,然后您试图在块使用它。

这是一个替代方案:

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

if (useUtf16RadioButton.Checked)
{
    encoding = Encoding.Unicode;
}
var text = File.ReadAllText(filePath, encoding);
于 2011-03-24T20:51:52.850 回答
0

问题是您必须在使用 var 声明变量时分配一个值,以便可以推断类型(您也确实Enc仅在 if 条件的范围内指定,因此以后不能使用它):

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

var text = File.ReadAllText(filePath, Enc);
于 2011-03-24T20:53:00.527 回答