.NET结果类

Pau*_*els 7 .net c#

我有一个C#函数进行一些处理,需要返回有关处理,成功,失败等的数据.

任何人都可以告诉我是否有任何标准的框架类来处理这个问题(例如,处理的记录数,数字成功,失败等)?

或者,任何人都可以说他们通常如何处理这个?是创建类或使用参数的最佳方法吗?

Tom*_*cek 6

我不认为有任何标准类来表示这种信息.处理此问题的最佳方法可能是定义您自己的类.在C#3.0中,您可以使用自动实现的属性,这可以减少您需要编写的代码量:

class Results {
  public double Sum { get; set; }
  public double Count { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我认为out参数应该仅在相对有限的场景中使用,例如在定义类似Int32.TryParse和类似的方法时.

或者,如果您只需要在本地使用它(例如,只从一个地方调用该函数,因此不值得声明一个新类来保存结果),您可以Tuple<..>在.NET 4.0中使用该类.它允许您对几种不同类型的值进行分组.例如,Tuple<double, double, double>将具有可用于存储单个结果的类型的属性Item1... 这将使代码的可读性降低,因此这就是它仅在本地可用的原因.Item3double

  • 我不会在班级的公共成员中使用`Tuple <..>`.在只能在有限数量的地方使用的私有成员中,使用它可能更容易,而不是构建单一用途的类. (2认同)