【问题标题】:C# LINQ from entity to 2D arrayC# LINQ 从实体到二维数组
【发布时间】:2016-05-08 18:44:04
【问题描述】:

我使用实体框架,一个实体叫“利率”,实体集名称是“InterestRateSet”。

有两个属性,时间和速率,都是双精度的。 数据例如,firstcolumn 0, 0.5, 1, secondcolumn 0, 0.01, 0.015

如何使用来自 InterestRateSet 的 LINQ 获取 3row2column 数组? 有人可以给我看一下代码示例吗? 提前致谢!

【问题讨论】:

  • 您好Layonez,非常感谢您的回复。我真的是一个初学者,请给我一个代码示例吗?
  • 检查我的答案,使用我提到的帖子中的@Damith 答案中的代码

标签: c# arrays entity-framework linq


【解决方案1】:
public string[,] GetInterestRates()
{
    var array  =(from ir in ctx.InterestRateSet                     
                 select new List<string>{ ir.Time.ToString() , ir.Rate.ToString()}).ToArray();

    return CreateRectangularArray(array);  
}


static T[,] CreateRectangularArray<T>(IList<T>[] arrays)
{
    // TODO: Validation and special-casing for arrays.Count == 0
    int minorLength = arrays[0].Count();
    T[,] ret = new T[arrays.Length, minorLength];
    for (int i = 0; i < arrays.Length; i++)
    {
        var array = arrays[i];
        if (array.Count != minorLength)
        {
            throw new ArgumentException
                ("All arrays must be the same length");
        }
        for (int j = 0; j < minorLength; j++)
        {
            ret[i, j] = array[j];
        }
    }
    return ret;
}

【讨论】:

  • 谢谢你,帮了大忙!
  • 通常情况下,当某些事情有效时,您应该单击该答案旁边的小复选框以“将其标记为答案” - 这将随着时间的推移对您的帐户有所帮助,因为它表明您的问题得到了当你稍后问他们时回答;)
  • 谢谢,这是我第一次在这个网站上提问。
猜你喜欢
  • 1970-01-01
  • 2014-07-02
  • 2012-05-04
  • 1970-01-01
  • 2013-11-23
  • 1970-01-01
  • 1970-01-01
  • 2011-07-23
  • 2014-11-13
相关资源
最近更新 更多