将类型编码为 var

发布于 2024-10-27 07:11:42 字数 176 浏览 1 评论 0原文

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

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

它不起作用,有任何方法可以使编码类型成为 var,这样我以后就可以 p

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

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

It doesn't work, any way to make the encoding type a var so I can later p

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

浪菊怪哟 2024-11-03 07:11:42

问题不在于使用 var - 而是您在块内声明了变量,然后尝试在块外部使用它。

这是一个替代方案:

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

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

The problem isn't using var - it's that you've declared the variable inside a block, and then you're trying to use it outside the block.

Here's an alternative:

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

if (useUtf16RadioButton.Checked)
{
    encoding = Encoding.Unicode;
}
var text = File.ReadAllText(filePath, encoding);
梦忆晨望 2024-11-03 07:11:42

问题是,当您使用 var 声明变量时,必须赋值,以便可以推断类型(而且您仅在 if 条件范围内指定了 Enc ,因此无法使用它然后):

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

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

The problem is that you must assign a value when you declare a variable with var so the type can be inferred (also you did specify Enc only within the scope of the if condition so it couldn't be used afterwards):

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

var text = File.ReadAllText(filePath, Enc);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文