怎么比较两个字节数组

caicoko 2008-05-09 10:54:44
string x = "sss";
Byte[] y = System.Text.Encoding.Default.GetBytes(x);

string i = "sss";
Byte[] j = System.Text.Encoding.Default.GetBytes(i);


怎么比较y和j字节数组是否相等,不要问我为什么这么做,我只要结果!
...全文
273 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
skyaspnet 2008-05-10
  • 打赏
  • 举报
回复
感谢caicoko 的加分, 谢谢:)
skyaspnet 2008-05-09
  • 打赏
  • 举报
回复
我写了一个,调试通过,你试一下:

Default.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>

</div>
</form>
</body>
</html>


Default.aspx.cs
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string x = "sss";
Byte[] y = System.Text.Encoding.Default.GetBytes(x);

string i = "sss";
Byte[] j = System.Text.Encoding.Default.GetBytes(i);


if (y.Length == j.Length) //首先判断长度是否相等
{
int len = y.Length; //数组长度

int mark = 0; //相等的标记,1表示相等

for (int flag = 0; flag < len; flag++)
{
if (y.GetValue(flag).ToString().Trim() == j.GetValue(flag).ToString().Trim())
{
mark = 1;
}
else
{
break;
}
}

if (mark == 1)
{
Response.Write("数组相等!");
Response.End();
}
else
{
Response.Write("数组不相等!");
Response.End();
}
}
else
{
Response.Write("数组不相等!");
Response.End();
}
}

}
dengyi425 2008-05-09
  • 打赏
  • 举报
回复

if (第一个数组.Equals(第二个数组))
{
}
else
{
}


caicoko 2008-05-09
  • 打赏
  • 举报
回复
各位自己多试试就知道了~
mike1983 2008-05-09
  • 打赏
  • 举报
回复
恩,直接比较一下他们的length,就可以了
phper2008 2008-05-09
  • 打赏
  • 举报
回复
问题解决了,恭喜楼主! 接分来了。希望给接分人加分也不要手软!
dgl_1225 2008-05-09
  • 打赏
  • 举报
回复
直接把x和y都toString 然后对比不行吗~
叶子 2008-05-09
  • 打赏
  • 举报
回复
问题解决了,恭喜楼主! 接分来了。
caicoko 2008-05-09
  • 打赏
  • 举报
回复
不好意思,一天后才可以加分,我的原则是能给我结果的人我加分绝不手软~~
caicoko 2008-05-09
  • 打赏
  • 举报
回复
非常感谢 skyaspnet,我加分送你

我简化了一下你的代码


public static bool ByteEquals(byte[] x, byte[] y)
{
if (x.Length == y.Length)
{
for (int i = 0; i < x.Length; i++)
{
if (x.GetValue(i).ToString().Trim() != y.GetValue(i).ToString().Trim())
{
return false;
}
}
return true;
}
return false;
}

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧