我正在尝试创建一个双精度矩阵,表示实体之间的相关性.
这是我通过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技巧吗?
我有以下方法签名:
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[,]而不是行数.
我想返回一个多维数组来保存在一个会话中,但不知道如何从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)