C#中维度数组的三个组合?

时间:2014-01-08 04:55:22

标签: c# asp.net .net

如何在C#中创建维度数组的三种组合?,我收到错误消息

  

索引超出了数组的范围。

foreach (XmlNode RegexExpression in XmlDataAccess.GetElementList(RefFile, "//regex"))
{
    xRefList.Add(RegexExpression.InnerText);
}

foreach (XmlNode RegexExpression in XmlDataAccess.GetElementList(RefFile, "//word"))
{
    WordList.Add(RegexExpression.InnerText);
}
foreach (XmlNode RegexExpression in XmlDataAccess.GetElementList(RefFile, "//title"))
{
    TitleList.Add(RegexExpression.InnerText);
}

ArrayList xRefResult = MainDocumentPart_Framework.getReferenceContent(FileName, xRefList);
ArrayList TitleResult = MainDocumentPart_Framework.getReferenceContent(FileName, TitleList);
ArrayList WordResult = MainDocumentPart_Framework.getReferenceContent(FileName, WordList);


var FinalResult = from first in TitleResult.ToArray()
                  from second in WordList.ToArray()
                  from third in xRefResult.ToArray()
                  select new[] { first, second, third };

foreach (var Item in FinalResult)
{
    System.Windows.MessageBox.Show(Item.ToString());

    //I like to view show, all the combination of arrays
    //first1, second1, third1
    //first1, second1, third2
    //first1, second1, third3 ...........
}

1 个答案:

答案 0 :(得分:0)

我不确定你想要什么样的输出,我认为你不需要使用LINQ。

string outputStr = "";

for(int x = 0;x<xRefList.Count;x++)
{
  for(int y = 0;y<WordList.Count;y++)
  {
     for(int z = 0;z<TitleList.Count;z++)
    {
        outputStr += xRefList[x] + " " + WordList[y] + " " + TitleList[z] + "\n";
    }

  }
}

MessageBox.Show(outputStr);

这样的事情会起作用吗?