c# - 从两个创建一个数据表

标签 c#

我有两个具有相同架构、业务合作伙伴和地址的数据表。我正在尝试以特定格式组合它们,以便导入到另一个系统中。

基本上,我希望输出如下:

  • 商业伙伴
  • 所有相关地址
  • 下一个商业伙伴
  • 所有相关地址

这是我正在尝试的最新代码:

            var finalDt = BpDt.Clone();

            foreach(DataRow BpRow in BpDt.Rows)
            {
                finalDt.ImportRow(BpRow);

                foreach(DataRow AddressRow in AddressDt.Rows)
                {
                    if(Convert.ToString(BpRow["id"]).Equals(Convert.ToString(BpRow["id"])))
                    finalDt.ImportRow(AddressRow);
                }
            }

它似乎陷入了无限循环,但我不明白为什么。有没有更好的方法来解决这个问题?

最佳答案

你的做法很糟糕。但如果你坚持走这条路,这应该行得通:

 var finalDt = BpDt.Clone();

            foreach(DataRow BpRow in BpDt.Rows)
            {
                finalDt.ImportRow(BpRow);

                foreach(DataRow AddressRow in AddressDt.Rows)
                {
                    if(Convert.ToString(BpRow["id"]).Equals(Convert.ToString(AddressRow["id"])))
                    finalDt.ImportRow(AddressRow);
                }
            }

关于c# - 从两个创建一个数据表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31323248/

相关文章:

c# - 无法加载文件或程序集 'System.Web.Http,' - 将一个项目添加到另一个解决方案时

c# - ASP.NET MVC 2 中具有约束的可选路由参数?

c# - 对 SharePoint 列表项目重新排序的最佳方法是什么?

c# - 为字符串索引分配新值

c# - 现在我们有了 "await"关键字,使用 ContinueWith 方法有什么好处吗?

c# - 在主线程中运行代码

c# - Debug.Assert 似乎不适用于 Mono

c# - C# 中是否有相当于 Pythons range(12) 的?

c# - 如何将 GetStringAsync 结果反序列化为翻译文本

c# - 从上传的文件中读取文本 - C# 和 javascript