-1

我有两个数组: Lines[] 和 Blocks[] 我想将它们加入字符串参数 [][] 并轻松访问它们。

Parameters[0][0] = Lines[0]Blocks[0] //or it's variations didn't work.

我怎样才能做到这一点?

(如果有其他简单的方法,请与我分享)

这就是我如何可视化结果:

图片解释 http://img38.imageshack.us/img38/8662/82103454.JPG

4

3 回答 3

3

像这样的东西?

var linesAndBlocks =  Lines.Zip(Blocks, (l, b) => new Tuple<string, string>(l, b))
                           .ToList();

然后您可以将其用作

Console.WriteLine(linesAndBlocks[0].Item1 + " " + linesAndBlocks[0].Item2);
于 2013-05-23T20:27:13.803 回答
0

您可以尝试以下方法:

string[] lines  = { "a" , "b" , "c" , "d" , } ;
string[] blocks = { "x" , "y" , "z" ,       } ;
string[][] parameters = new string[2][] ;

parameters[0] = lines ;
parameters[1] = blocks ;

或者类似的东西

string[] lines  = { "a" , "b" , "c" , "d" , } ;
string[] blocks = { "x" , "y" , "z" ,       } ;
string[][] parameters = { lines , blocks , } ;

请参阅 MSDN 上的数组教程 @ http://msdn.microsoft.com/en-us/library/aa288453(v=vs.71).aspx

这个问题也可能有帮助:所有可能的 C# 数组初始化语法

或者......因为不清楚你到底想要什么......像这样:

static Tuple<TRow,TCol>[,] CreateMatrix<TRow,TCol>( TRow[] rows , TCol[] cols )
{
  Tuple<TRow,TCol>[,] matrix = new Tuple<TRow,TCol>[rows.Length,cols.Length];

  for ( int r = 0 ; r < rows.Length ; ++r )
  {
    for ( int c = 0 ; c < cols.Length ; ++c )
    {
      Tuple<TRow,TCol> cell = new Tuple<TRow,TCol>( rows[r] , cols[c] ) ;
      matrix[r,c] = cell ;
    }
  }

  return matrix ;
}
于 2013-05-23T21:19:49.417 回答
-2

如果你想使用 LINQ,你可以通过两个嵌套Select调用来做到这一点:

var Parameters = Lines.Select(line => 
    Blocks.Select(block => new Parameter(line, block))
    .ToArray())
.ToArray();
于 2013-05-23T20:36:27.753 回答