-1

Lines[] と Blocks[] の 2 つの配列があります。それらを文字列 parameters[][] に結合して、簡単にアクセスしたいと考えています。

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 を使用する場合は、2 つのネストされたSelect呼び出しでこれを行うことができます。

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