c#-3.0 - 如何在 C#3.0 中访问对象的第一个值

标签 c#-3.0

如何访问第一个值

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/

相关文章:

c# - 为什么 C# 编译器不自动推断此代码中的类型?

.net - 事件处理程序的垃圾收集

c# - LINQ 最难或最容易被误解的方面是什么?

.net - 如何在 .NET 中使用 "override"扩展方法?

c#-3.0 - 如何更好地重写这个重复函数

c# - 检查对象层次结构中的空值

c# - 在 Windows 窗体项目上使用 DataAnnotations

Java:String.Format 是否像 C# 一样存在于 Java 中?

c# - 将 Do Until 循环从 VB 转换为 C#

c# - 如何在存在打开的连接时恢复 SQLite 数据库?