我可以想出以下方法来从一个方法中返回多个值(还有一种方法是将其拆分为两个方法)
基本上我的问题是,是否存在一种情况,其中一种方法优于另一种方法?以 int.TryParse 为例。它使用了一个输出参数,但如果将其拆分成两个方法 CanParse 和 Parse ,是否同样可以发挥作用,甚至更好。
private bool IsCarFaulty(Car car, out string fault)
{
fault = string.Empty;
return false;
}
private Tuple<bool, string> IsCarFaulty(Car car)
{
return Tuple.Create(false, string.Empty);
}
private ResultAndMessage IsCarFaulty(Car car)
{
return new ResultAndMessage(false, string.Empty);
}
private bool IsCarFaulty(Car car)
{
return false;
}
private string GetCarFault(Car car)
{
return string.Empty;
}
基本上我的问题是,是否存在一种情况,其中一种方法优于另一种方法?以 int.TryParse 为例。它使用了一个输出参数,但如果将其拆分成两个方法 CanParse 和 Parse ,是否同样可以发挥作用,甚至更好。