gpt4 book ai didi

c# - visual studio 2017 内联临时变量

转载 作者:太空宇宙 更新时间:2023-11-03 12:14:58 26 4
gpt4 key购买 nike

我有如下代码:

  using (Process proc = Setupprocess(comtorun))
{
proc.Start();
while (!proc.StandardOutput.EndOfStream)
{
string output = proc.StandardOutput.ReadLine();
if (output.Contains("library:"))
{
collectoutput.Add(output.Split(":")[1]);
}
}
}

在 Visual Studio 中,它给了我一个内联临时变量的选项,我想像下面这样重写它:

  using (Process proc = Setupprocess(comtorun))
{
proc.Start();
while (!proc.StandardOutput.EndOfStream)
{

if (proc.StandardOutput.ReadLine().Contains("library:"))
{
collectoutput.Add(proc.StandardOutput.ReadLine().Split(":")[1]);
}
}
}

当我认为当它调用 collectoutput.Add(proc.StandardOutput.ReadLine().Split(":")[1]) 时,我是否正确?它实际上会读取输出的第 2 行而不是第 1 行?

最佳答案

是的,您完全正确,这个建议引入了代码更改 - 本质上是一个错误。最终,没有内置的声明方式表明 .NET 中的方法是纯函数。在某些情况下,这样的更改将是完全有效的,而在其他情况下(像这样)它会很糟糕,并且在任何情况下都无法知道它是什么(无需启动手动维护这是已知不良或已知良好的时间备忘单)。所以:它提供这个功能是在它有用的时候,而不是强制你(它不会显示为默认情况下可见的建议更改,例如 -它仅在您主动选择变量时出现)。

所以,在这种情况下:不要使用它。

关于c# - visual studio 2017 内联临时变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50206611/

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