2013-02-19 83 views
-6

中的值:「a」,「b」,「c」,「d」,「e」,「f」,「g」,「h」,我該如何排列他們像這樣:如何設置給定字符串的二維矩陣

-1- -2- -3-  
"a" "b" "c" 

-1- -2- -3- 
"d" "e" "f" 

-1- -2- -3- 
"g" "h" "df" 

1,2,3是列的名稱。 (數據表)

+0

這不是[真正的問題](http://meta.stackexchange.com/questions/145677/what-is-a-real-question)。請閱讀[常見問題]和[問] – 2013-02-19 16:24:15

+0

「但我是一個真正的男孩...:*(」 – ogsMC 2013-02-19 16:24:57

+0

我的答案沒有幫助嗎?http://stackoverflow.com/questions/14956177/how-to-fill-數據表中的每一列 – 2013-02-19 16:25:33

回答

0

下面是一個使用Enumerable.GroupBy LINQ的方法:

List<string> strings = new List<string>() { "a", "b", "c", "d", "e", "f", "g", "h" }; 
var trios = strings 
    .Select((s, i) => new { Str = s, Index = i }) 
    .GroupBy(x => x.Index/3); 
foreach(var trio in trios){ 
    var newRow = table.Rows.Add(); // your DataTable here 
    newRow.ItemArray = trio.Select(x => x.Str).ToArray(); 
} 

這種方法也適用,如果列表是被3除盡。

0
foreach (var data in new[] { "a", "b", "c", "d", "e", "f", "g", "h", "df" }.Select((s, i) => new { Value = s, Column = i % 3 + 1 })) 
{ 
    Insert(data.Column, data.Value); 
}