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 に答える