gpt4 book ai didi

C# 递增 ToString

转载 作者:太空狗 更新时间:2023-10-29 22:23:59 26 4
gpt4 key购买 nike

我从 C#/WPF 添加了一个意外的行为

    private void ButtonUp_Click(object sender, RoutedEventArgs e)
{
int quant;
if( int.TryParse(Qnt.Text, out quant))
{
string s = ((quant++).ToString());
Qnt.Text = s;
}
}

因此,如果我将 quant 设为 1,quant 将递增到 2。但是 s 字符串将为 1。这是优先级问题吗?

编辑:

我将其重写为:

            quant++;
Qnt.Text = quant.ToString();

现在一切如我所愿。

最佳答案

您正在使用 post 增量运算符。这将评估为原始值,然后递增。要在单行代码中执行您想要的操作,您可以改用pre-increment 运算符。

(++quant).ToString();

但更好的办法是避免所有这些陷阱并像这样去做:

quant++;
string s = quant.ToString();

对于第一个版本,您必须考虑事情发生的顺序。在第二个版本中不需要思考。始终重视代码的清晰度而不是简洁性。

人们很容易相信单行版本在某种程度上更快,但事实并非如此。在 1970 年代的 C 系统中,这可能是真的,但即便如此,我仍然怀疑。

关于C# 递增 ToString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7848104/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com