c# – DataRow比较无法按预期工作
发布时间:2020-12-15 19:48:01 所属栏目:百科 来源:网络整理
导读:我试图在循环中比较两个DataRows.但是,以下if语句不返回true: if (dt1.Rows[0]["Name"] == dt2.Rows[b]["Name"]) { // This never executes} 但是,如果我将.ToString()添加到每个DataRow的末尾,则if语句返回true: if (dt1.Rows[0]["Name"].ToString() == d
我试图在循环中比较两个DataRows.但是,以下if语句不返回true:
if (dt1.Rows[0]["Name"] == dt2.Rows[b]["Name"]) { // This never executes } 但是,如果我将.ToString()添加到每个DataRow的末尾,则if语句返回true: if (dt1.Rows[0]["Name"].ToString() == dt2.Rows[b]["Name"].ToString()) { // This now executes } “名称”列来自同一个表/列.所以问题很简单……我做错了什么? 谢谢 解决方法
作为
itsmatt has said,您的第一个片段正在进行参考比较.调用ToString的另一种方法是使用Object.Equals:
if (Object.Equals(dt1.Rows[0]["Name"],dt2.Rows[b]["Name"])) { // stuff } 使用静态方法而不是实例方法的原因是为了避免空引用的问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |