【问题标题】:Add two list<> in datarows c#在数据行c#中添加两个列表<>
【发布时间】:2013-07-12 10:13:50
【问题描述】:

我正在尝试在数据行中一个接一个地添加行。例如,第一行是列表,第二行是列表,然后第三行是列表,第四行是列表等等。这是我的代码..

// Declaring a list of datahandling type data which contains
// groupid,stringid,stringtext etc.
List<Data> data = new List<Data>();         
List<Data> diff = new List<Data>();

// Function which separates the relevant data from the string
// and stores it in the list.
control.Stringhandler(readcontents.Contents, ref data);
control.Stringhandler(readcontents.Translated_contents, ref diff);

foreach (var array in data)
{
    datarows.Rows.Add(array.GroupID, array.StringID, array.StringText);
    // datarows.Rows.Add(array.GroupID, array.StringID, array.StringText);
    save = array.Lines + 1;
}

我的问题是 foreach() 在数据行中逐行添加数据..我想在数据行旁边添加差异行.. 比如datarow应该这样添加

        datarow.row[0]=data;
        datarow.row[1]=diff;
        datarow.row[2]=data;
        datarow.row[3]=diff;

这就是我想要做的..

【问题讨论】:

  • 您的具体问题是什么?
  • 为什么Stringhandler 方法需要ref 参数?在什么情况下它会为其参数分配一个新的List&lt;&gt; 实例?

标签: c# datagridview datarow


【解决方案1】:

如果两个列表都是&lt;Data&gt; 类型,您可以连接前两个列表,然后添加行。像这样

var lstCombined = data.Concat(diff)
 foreach (var array in lstCombined )
        {
            datarows.Rows.Add(array.GroupID, array.StringID, array.StringText);
          // datarows.Rows.Add(array.GroupID, array.StringID, array.StringText);
            save = array.Lines + 1;
        }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-26
    • 1970-01-01
    • 1970-01-01
    • 2011-12-18
    • 1970-01-01
    • 2013-04-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多