2016-05-08 15 views
0

エンティティフレームワーク、「金利」と呼ばれる1つのエンティティ、エンティティセット名が「InterestRateSet」です。エンティティから2D配列へのC#LINQ

時間とレートの2つのプロパティがあり、両方とも倍です。 FirstRow0、0.5,1、secondcolumn 0,0.01,0.015

InterestRateSetのLINQを使用して3列配列を取得するにはどうすればよいですか? 誰かがコードの例を教えてもらえますか? ありがとうございます!

+1

(http://stackoverflow.com/questions/18896150/c-sharp-linq-return-a-multidimensional-array-from-linq)[C#LINQ LINQから多次元配列を返す]の可能な重複 –

+0

こんにちはLayonez、ありがとう、返信してください。私は本当に初心者です、私にコードの例を教えてください? – Michael

+0

私の答えをチェックし、@Damithのコードを使って作った投稿からの回答 –

答えて

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; 
} 
+0

ありがとう、すごく助けてくれてありがとう! – Michael

+0

通常、何かが効いているときは、その答えの横にある小さなチェックボックスをクリックして、「答えとしてマークする」ことをお勧めします - 時間の経過とともにアカウントに役立ちます。 ) –

+0

ありがとう、私はこのウェブサイトで質問をするのは初めてです。 – Michael

関連する問題