对于具有非常相似名称的列表循环而不重写代码

时间:2014-08-05 21:19:23

标签: c# list

我有一个字符串列表,其中每个字符串都是列表的最终文本。

例如,

List<string> textEnds = New List<string>()
textEnds.Add("Q1"); textEnds.Add("Q2");

我已经宣布了这些名单:

List<List<string>> someTextQ1 = new List<List<string>>();
List<List<string>> someTextQ2 = new List<List<string>>();

对于上面的每个双重列表,我显示一个简单的html表。理想情况下,我不想将复制粘贴html代码100次,因为Q1在双列表名称中更改为Q2。有没有办法写一个for循环,以便我做类似的事情(显然下面没有工作,只是一个概念):

for(int i = 0; i < textEnds.Count; i++){
     <table>
          for(int j = 0; j < someText + textEnds[i] + .Count; j++){
          }
     </table>
}

1 个答案:

答案 0 :(得分:1)

要抽象someTextQ1someTextQ2等,您只需要另一个列表。

var someTexts = new List<List<List<string>>>();

这开始看起来......递归,所以你可能想要考虑一个递归数据结构:

class SomeText
{
    string Text { get; set; }
    List<string> SubTexts { get; set; }
}

递归结构的好处是可以根据需要进行深度嵌套。