首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在LINQ中选择多维数组

在LINQ中选择多维数组
EN

Stack Overflow用户
提问于 2010-04-02 02:48:32
回答 1查看 13.5K关注 0票数 16

我有一个任务,需要将一个DataTable转换成一个二维数组。这很容易做到,只需循环遍历行和列(参见下面的示例)。

private static string[,] ToArray(DataTable table)
{
    var array = new string[table.Rows.Count,table.Columns.Count];

    for (int i = 0; i < table.Rows.Count; ++i)
        for (int j = 0; j < table.Columns.Count; ++j)
            array[i, j] = table.Rows[i][j].ToString();

    return array;
}

我真正想做的是在LINQ中使用select语句来生成2D数组。不幸的是,在LINQ中似乎没有选择多维数组的方法。是的,我知道我可以使用LINQ来选择锯齿数组,但这不是我想要的。

我的假设是正确的,还是有一种方法可以使用LINQ来选择多维数组?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-04-02 02:57:07

我认为这是不可能的。我的推理是,Select和大多数其他LINQ函数要求它们处理的集合至少为某些T实现IEnumerable<T>

public static IEnumerable<TResult> Select<TSource, TResult>(
    this IEnumerable<TSource> source,
    Func<TSource, TResult> selector
)

矩形数组没有为任何T实现IEnumerable<T>,所以它不能是Select函数的返回值。

票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2562817

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档