使用字典对象
Using dictionary object
我正在使用 Math.Net 库在 c# 中开发一个计算库。我在库中有几种方法可以接收 IEnumerable 双值列表。我需要计算年度值和月度值,并将 return 那些传递给调用方方法。有人可以告诉我这是否是正确的做法。我选择使用字典对象
public Dictionary<string, double> ArithmeticMean(IEnumerable<double> ReturnsList)
{
Dictionary<string, double> arithmethicMean = new Dictionary<string, double>();
var returnList = ReturnsList.Mean();
arithmethicMean.Add("Monthly", returnList);
arithmethicMean.Add("Annual", returnList * Math.Pow(12, 0.5));
return arithmethicMean;
}
您的方法是依靠魔术串进行中继。最好为结果使用单独的类型,例如:
public class ArithmeticMeanResult
{
public double Monthly;
public double Annual;
}
然后return它:
return new ArithmeticMeanResult()
{
Monthly = returnList,
Annual = returnList * Math.Pow(12, 0.5)
};
如果您使用的是 C# 7,那么您可以使用元组:
public (double Monthly, double Annual) ArithmeticMean(IEnumerable<double> ReturnsList)
{
...
return (Monthly: returnList, Annual: returnList * Math.Pow(12, 0.5));
}
我正在使用 Math.Net 库在 c# 中开发一个计算库。我在库中有几种方法可以接收 IEnumerable 双值列表。我需要计算年度值和月度值,并将 return 那些传递给调用方方法。有人可以告诉我这是否是正确的做法。我选择使用字典对象
public Dictionary<string, double> ArithmeticMean(IEnumerable<double> ReturnsList)
{
Dictionary<string, double> arithmethicMean = new Dictionary<string, double>();
var returnList = ReturnsList.Mean();
arithmethicMean.Add("Monthly", returnList);
arithmethicMean.Add("Annual", returnList * Math.Pow(12, 0.5));
return arithmethicMean;
}
您的方法是依靠魔术串进行中继。最好为结果使用单独的类型,例如:
public class ArithmeticMeanResult
{
public double Monthly;
public double Annual;
}
然后return它:
return new ArithmeticMeanResult()
{
Monthly = returnList,
Annual = returnList * Math.Pow(12, 0.5)
};
如果您使用的是 C# 7,那么您可以使用元组:
public (double Monthly, double Annual) ArithmeticMean(IEnumerable<double> ReturnsList)
{
...
return (Monthly: returnList, Annual: returnList * Math.Pow(12, 0.5));
}