• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

C# DataRow 比较

c# 搞代码 4年前 (2022-01-09) 6次浏览 已收录 0个评论
<pre class="prettyprint linenums">  /// <summary>        /// dataRow比较        /// </summary>        /// <param name="drA"></param>        /// <param name="drB"></param>        /// <param name="columnNames">需要比较的列名称</param>        /// <returns></returns>        public static bool DataRowCompare(DataRow drA, DataRow drB, string[] columnNames)        {            bool flag = false;            //DataRow 中需要比较的列排序            ColumnSort(drA, columnNames);            ColumnSort(drB, columnNames);            foreach (DataColumn dcA in drA.Table.Columns)            {                if (columnNames.Contains(dcA.ColumnName))                {                    foreach (DataColumn dcB in drB.Table.Columns)                    {                        if (columnNames.Contains(dcB.ColumnName))                        {                            if (dcB.ColumnName == dcA.ColumnName)//列名比较                            {                                //类型比较                                if (dcB.DataType != dcA.DataType)                                {                                    flag = false;                                    break;                                }                                //值比较                                else if (CompareObject(drA[dcB.ColumnName], drB[dcB.ColumnName]))                                {                                    flag = true;                                    break;                                }                            }                        }                    }                }            }            return flag;        }		     /// <summary>        /// 按照<p style="color:transparent">本文来源gao!daima.com搞$代!码网</p>数组中列名顺序排序        /// </summary>        /// <param name="drA"></param>        /// <param name="columnNames">按照数组中列名顺序排序</param>        public static void ColumnSort(DataRow drA, string[] columnNames)        {            //drA 排序            int i = 0;            foreach (string columnName in columnNames)            {                if (drA.Table.Columns.Contains(columnName))                {                    drA.Table.Columns[columnName].SetOrdinal(i);                    i++;                }            }        }

对象比较方法 CompareObject(object objA, object objB):

C# 对象比较(值类型、引用类型)

深拷贝部分代码:

C# 实体类序列化与反序列化一 (XmlSerializer)

C# 实体类序列化与反序列化二 (DataContractSerializer)

以上就是C# DataRow 比较 的内容,更多相关内容请关注搞代码(www.gaodaima.com)!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:C# DataRow 比较
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址