相关疑难解决方法(0)

通过LINQ生成二维数组

我正在尝试创建一个双精度矩阵,表示实体之间的相关性.

这是我通过LINQ做的方式

double[][] correlationsRaw = (from e in entitiesInOrder
                              select
                                (from f in entitiesInOrder
                                     select correlations.GetCorrelation(e, f)
                                ).ToArray()).ToArray();
Run Code Online (Sandbox Code Playgroud)

这很好.

但我想要的是一个二维数组(双[,]),而不是锯齿状数组.

显然,我可以编写一些嵌套的for循环来将一个转换为另一个.

但是我可以在这里使用一些优雅的LINQ技巧吗?

linq multidimensional-array

13
推荐指数
1
解决办法
6954
查看次数

如何将列表<>转换为多维数组?

我有以下方法签名:

public void MyFunction(Object[,] obj)
Run Code Online (Sandbox Code Playgroud)

我创建这个对象:

List<List<Object>> obj = new List<List<Object>>;
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的方法可以将其转换为Object[,]


更新:

事实是我喜欢使用Lists,因为我可以轻松添加新项目.有没有办法可以声明我的List<>对象以满足这种需求?我知道我的列数Object[,]而不是行数.

.net c# arrays list

5
推荐指数
2
解决办法
1万
查看次数

c#linq从linq返回一个多维数组

我想返回一个多维数组来保存在一个会话中,但不知道如何从linq返回它:

public string[] GetCountryAndManufacturerForUser(int userId)
{

        var array = (from xx in _er.UserRoles
                     join xy in _er.Countries on xx.CountryId equals xy.Id
                     join xz in _er.Manufacturers on xx.ManufacturerId equals xz.Id
                     where xx.UserId == userId
                     select new { xy.Name, xz.Description }).ToArray();   

    return??
}
Run Code Online (Sandbox Code Playgroud)

我知道我在这里做错了,不知道是什么.

编辑:

需要返回以下字段 - xy.Name,xz.Description

喜欢:

 { "1", "aaa" },
   { "2", "bbb" }
Run Code Online (Sandbox Code Playgroud)

编辑:

我已经尝试了下面的例子,他们还没有到达我需要的地方 - 我认为以下内容应该有效:

 /// <summary>
        /// 
        /// </summary>
        /// <param name="userId"></param>
        /// <returns></returns>
        public string[,] GetCountryAndManufacturerForUser(int userId)
    {

        var array = (from xx in …
Run Code Online (Sandbox Code Playgroud)

c# linq arrays multidimensional-array

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

arrays ×2

c# ×2

linq ×2

multidimensional-array ×2

.net ×1

list ×1