如何访问第一个值
object t = (object) wsf.LinEst(y.ToArray(), x.ToArray(), false, true);
输出为
object[1..5, 1..2]}
[1, 1]: 0.17134831460674155
[1, 2]: 0.0
[2, 1]: 0.019612696690686725
[2, 2]: -2146826246
[3, 1]: 0.95020429009193053
[3, 2]: 0.82746057986828336
[4, 1]: 76.328205128205056
[4, 2]: 4.0
[5, 1]: 52.261235955056179
[5, 2]: 2.7387640449438226
我只需要获取 [1,1] 的值,即 0.17134831460674155
如何获得它。
linEst 仅返回一个对象。
我使用的是C#3.0
谢谢
谢谢
最佳答案
嗯,看起来你可以枚举它返回 double - 尽管它可能实际上没有实现 IEnumerable<double>
。试试这个(在代码顶部使用 using System.Linq;
指令):
IEnumerable t = (IEnumerable) wsf.LinEst(y.ToArray(), x.ToArray(), false, true);
double first = t.Cast<double>().First();
但是,如果实际上它返回类似 int[][]
的内容,则不会起作用。 。您能告诉我们更多关于它真正返回的内容吗?是的,它声明只返回 object
,但它显然返回的东西不止于此。如果你知道它总是会返回 object[,]
使用基于 1 的索引,您可以转换为:
object[,] t = (object[,]) wsf.LinEst(y.ToArray(), x.ToArray(), false, true);
double first = (double) t[1, 1];
如果您不知道数组的下限,当然可以通过编程方式询问它们......但 LINQ 方式可能会更简单。
关于c#-3.0 - 如何在 C#3.0 中访问对象的第一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2703665/