if (radioButton1.Checked) {
var Enc = Encoding.Unicode;
}
var text = File.ReadAllText(filePath, (Enc);
它不起作用,任何使编码类型成为 var 的方法,以便我以后可以 p
问题不在于使用var
- 您已经在块内声明了变量,然后您试图在块外使用它。
这是一个替代方案:
var encoding = Encoding.UTF8; // Default to UTF-8
if (useUtf16RadioButton.Checked)
{
encoding = Encoding.Unicode;
}
var text = File.ReadAllText(filePath, encoding);
问题是您必须在使用 var 声明变量时分配一个值,以便可以推断类型(您也确实Enc
仅在 if 条件的范围内指定,因此以后不能使用它):
var Enc = Encoding.UTF8; //default
if (radioButton1.Checked) {
Enc = Encoding.Unicode;
}
var text = File.ReadAllText(filePath, Enc);