2015-02-23 28 views
0

我有一個類2維陣列,以在C#LINQ對象爲sql

public class SomeClass { 
      public string Name { get; set; } 
      public string Age{get;set;} 
     } 

我有一個數組聲明

string[,] testArray = { { "Vignesh", "25" },{"Raja","20"} }; 

我試圖使用LINQ的testArray轉換成的SomeClass[]對象到SQL 但testArray.Select(不來。它說String[*,*] does not contain a definition for Select

var result = linqArray.Cast<string>().Select(x => x).ToArray(); 
      linqArray.Cast<string>() 
.Select(x => new SomeClass { Name =x, Age = x }) 
.ToArray(); 

當我嘗試這是結果如下圖所示

enter image description here

我甚至嘗試類型轉換,這沒有工作

SomeClass[] list = (SomeClass[])linqArray; 
+0

我認爲這需要更清晰一些,我敢肯定第二個c#片段是不正確的c# – 2015-02-23 11:11:57

+1

'使用System.Linq;'? – Sinatr 2015-02-23 11:13:51

+0

爲什麼你在第一個地方使用多元數組? – Dirk 2015-02-23 11:14:21

回答

3

這是因爲多維數組顯示不是IEnumerable<T>。首先,您需要使用將您的陣列變爲或OfType方法,那麼你可以使用Batch方法:

array.Cast<string>() 
.Batch(2) 
.Select(x => new SomeClass { Name = x.First(), Age = x.Last()) }) 
.ToArray(); 

注意你需要添加一個引用到MoreLINQ庫使用Batch方法。