请教c#中两个数组的比较
我定义两个数组privatebyte[]a=newbyte[];privatebyte[]b=newbyte[];由于根据情况不同使用的时候数组的长度也不同(但是这两个数...
我定义两个数组 private byte[] a = new byte[]; private byte[] b = new byte[]; 由于根据情况不同使用的时候数组的长度也不同(但是这两个数组的长度是保持相同),我需要对数组中的每个元素进行比较,如果这两个数组中的每个元素数值都相同就是我想要的结果。不使用for循环,系统中有没有提供其它的方法来比较类似于a.CopyTo()这样的方法?请大家指教!
展开
3个回答
展开全部
其实数据比较这类问题想要不使用for循环根本不现实,在微软封装的.net类库中他去实现的时候也是通过循环实现,只不过这部分代码对你来说不可见而已,你可以编写自己的方法来实现比较,对外只提供一个函数,例如用扩展方法来实现:
public static bool MyEqual(this byte[] a, byte[] b){
bool result = true;
for(int i=0;i<a.Length;i++){
if(a[i] != b[i]){
result = false;
break;
}
}
return result;
}
然后在你比较的时候这样写
bool flag = a.MyEqual(b);
这样应该就是你想实现的方式吧
public static bool MyEqual(this byte[] a, byte[] b){
bool result = true;
for(int i=0;i<a.Length;i++){
if(a[i] != b[i]){
result = false;
break;
}
}
return result;
}
然后在你比较的时候这样写
bool flag = a.MyEqual(b);
这样应该就是你想实现的方式吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
string.Compare(a.ToString(), b.ToString())==0相等
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
只能用for语句逐项进行比较。
a[i]=b[i]
a[i]=b[i]
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询