gpt4 book ai didi

c# - 不更新输出变量的正确方法是什么

转载 作者:行者123 更新时间:2023-11-30 13:51:40 26 4
gpt4 key购买 nike

我已经为类 MinMax 实现了一个 TryParse 函数,如下所示:

    public static bool TryParse(string s, out MinMax result)
{
var parts = s.Split(' ');
if (parts.Length != 2)
{
return false;
}
float min;
float max;
if (!float.TryParse(parts[0].Trim(), out min) || !float.TryParse(parts[1].Trim(), out max))
{
return false;
}
result = new MinMax(min, max);
return true;
}

然而,这无法编译,因为显然需要写入 out 参数。解决这个问题的正确方法是什么?我希望能够使用该函数,以便在解析失败时传递给它的参数保持不变。我想一种方法是添加如下内容:

result = result;

但这行发出警告。

最佳答案

通过引用:

public static bool TryParse(string s, ref MinMax result) 

这意味着您必须确保 result 参数已初始化。

更新:最好坚持众所周知的 TryParse 语义。 (有时我会因为回答真正的问题而不是被问到的问题而受到批评!这次恰恰相反!)

关于c# - 不更新输出变量的正确方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4193099/

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