如何比较两个数组相等 有两个byte数组,a={0x00,0x21},b={0x00,0x21}有什么简单方法比较这两个数组是否相等吗?最好是.net类库中的方法。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果是比较两个数组的引用是否相同,很简单。如果是其元素,则没有现成的方法bool IsEquals(byte[]a,byte[]b){ if(a.Length!=b.Length) return false; //如果不要求元素的顺序一致的话,先调用Array.Sort(a);Array.Sort(b); for(int i=0;i<a.Length;i++) if(a[i]!=b[i]) return false; return true;} 循环比较public static int MemoryCompare2(byte[] b1, byte[] b2) { int result = 0; if (b1.Length != b2.Length) result = b1.Length - b2.Length; else { for (int i = 0; i < b1.Length; i++) { if (b1[i] != b2[i]) { result = (int)(b1[i] - b2[i]); break; } } } return result; }或 [DllImport("msvcrt.dll")] private static extern IntPtr memcmp(byte[] b1, byte[] b2, IntPtr count);public static int MemoryCompare(byte[] b1, byte[] b2) { IntPtr retval = memcmp(b1, b2, new IntPtr(b1.Length)); return retval.ToInt32(); } 急急急,判断是否已经安装了数据库? 求c#做一个小软件 日期解析字符串 高效判断文件是否正在使用中 为什么看不到项目的类视图 问个奇怪的Windows应用程序和asp.net应用程序的问题 .Net平台开源邮件系统方案 知道一个汉字的原意,但是有人通过某种手段变成了另外一个汉字,怎样弄回来? 高手请进-》 请教一个简单问题! 苦笑不得的问题,请高手来看看 加粗部分出现“输入字符串的格式不正确。”请哪位高手帮忙改下~~~~~ DotNetSpeech语音播放
如果是其元素,则没有现成的方法bool IsEquals(byte[]a,byte[]b)
{
if(a.Length!=b.Length)
return false;
//如果不要求元素的顺序一致的话,先调用Array.Sort(a);Array.Sort(b);
for(int i=0;i<a.Length;i++)
if(a[i]!=b[i])
return false;
return true;
}
public static int MemoryCompare2(byte[] b1, byte[] b2)
{
int result = 0;
if (b1.Length != b2.Length)
result = b1.Length - b2.Length;
else
{
for (int i = 0; i < b1.Length; i++)
{
if (b1[i] != b2[i])
{
result = (int)(b1[i] - b2[i]);
break;
}
}
}
return result;
}
或
[DllImport("msvcrt.dll")]
private static extern IntPtr memcmp(byte[] b1, byte[] b2, IntPtr count);
public static int MemoryCompare(byte[] b1, byte[] b2)
{
IntPtr retval = memcmp(b1, b2, new IntPtr(b1.Length));
return retval.ToInt32();
}