c# - 在c#中将数据保存在嵌套的for循环中

标签 c# for-loop datatables

下面是我的代码

string Cmp_Cd_Typ_Id1_1 = "";
for (a = 0; a < dsDeviceMatch2.Tables[0].Columns.Count; a++)
{
    for (b = 0; b < dsDeviceMatch2.Tables[0].Columns.Count; b++)
    {
        Cmp_Cd_Typ_Id1_1 = Cmp_Cd_Typ_Id1_1 + dsDeviceMatch2.Tables[0].Rows[a][b].ToString() + ",";
    }
}

正在将数据保存在 Cmp_Cd_Typ_Id1_1 变量中。我需要分别保存每次迭代的数据,但在这里我得到的结果是 a、b、c、d。但我需要单独保存一个 b 等。我怎样才能做到这一点

最佳答案

索引器 a应该应用于 Rows 集合,而不是 Columns 集合

for (a = 0; a < dsDeviceMatch2.Tables[0].Rows.Count; a++)

还强烈建议使用 StringBuilder而不是像那样的字符串连接

StringBuilder result = new StringBuilder();
for (int a = 0; a < dsDeviceMatch2.Tables[0].Rows.Count; a++)
{
    for (int b = 0; b < dsDeviceMatch2.Tables[0].Columns.Count; b++)
    {
        result.Append(dsDeviceMatch2.Tables[0].Rows[a][b].ToString() + ",");
    }
}
string Cmp_Cd_Typ_Id1_1 = result.ToString();

相反,如果您希望行彼此分开,那么您需要在这种方法中添加一个 List<strings>

// Each row will be an element of this list
List<string> rows = new List<string>();

for (int a = 0; a < dsDeviceMatch2.Tables[0].Rows.Count; a++)
{
    StringBuilder result = new StringBuilder();
    for (int b = 0; b < dsDeviceMatch2.Tables[0].Columns.Count; b++)
    {
        result.Append(dsDeviceMatch2.Tables[0].Rows[a][b].ToString() + ",");
    }
    // Add the row to the list removing the last comma
    rows.Add(result.ToString(0, result_1.Length - 1); 
}

关于c# - 在c#中将数据保存在嵌套的for循环中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27618228/

相关文章:

c# - 用于测量单位的 wpf 字符串格式 c#

React : why isn't my function returning multiple divs? 中的 Javascript 函数

csv - 批处理 for 循环、csv 解析和正确输出到文件的问题

c# - 将一张表与自身相乘并得到一个字段是什么意思?

c# - 应用内购买时出现 android.app.Service 连接泄漏错误

c++ - dispatch_apply 'for loop' 的 GCD

javascript - jQuery 数据表根据条件添加列

服务器端处理模式下的 jQuery 数据表搜索和分页问题

jquery - 如何使用 jquery 数据表的 ui 主题?

c# - 计算最接近给定数字的数字之和