为了账号安全,请及时绑定邮箱和手机立即绑定

请问byte[]如何比较

请问byte[]如何比较

千巷猫影 2018-08-10 09:06:28
dbModel2.TimeMark==model.TimeMark false Convert.ToBase64String(dbModel2.TimeMark) "AAAAAAAANsk=" Convert.ToBase64String(model.TimeMark) "AAAAAAAANsk=" Convert.ToBase64String(dbModel2.TimeMark)==Convert.ToBase64String(model.TimeMark) trueTimeMark是数据库里的timestamp类型, c#里面是byte[]请问, 两个byte[]如何比较呢?  代码中用==和equal返回false, 转换成字符串就可以了.
查看完整描述

2 回答

?
慕码人8056858

TA贡献1803条经验 获得超6个赞

3.5时代的SequenceEquals方法可以使用

查看完整回答
反对 回复 2018-08-13
?
GCT1015

TA贡献1827条经验 获得超4个赞

数组是引用类型,你直接用==和equals比较的是引用(由于是不同的引用当然结果是false)。3.0以上可以用linq:

byte[] a, b;
//初始化
//LINQ:要求C# 3.0以上
bool same = a.SequenceEqual(b);
//更早版本可以用
bool same = a.Length == b.Length;
for(int i=0;i < a.Length; i++)
{
     if (!same) break;
     same = a[i] == b[i];
}


查看完整回答
反对 回复 2018-08-13
  • 2 回答
  • 0 关注
  • 391 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信