【发布时间】:2012-08-11 18:16:56
【问题描述】:
我一直在尝试进行以下测试
[Test]
public void Test()
{
byte[] testArray = new byte[] { 1, 0, 0, 1 };
string number = System.Text.Encoding.ASCII.GetString(testArray);
Assert.That(number, Is.EqualTo("1001"));
}
我收到以下错误
String lengths are both 4. Strings differ at index 0.
Expected: "1001"
But was: "\0\0"
这让我感到困惑,因为我将字节数组转换为字符串的生产代码使用了相同的方法,然后我注销了字符串,这正是我所期望的。
在这种情况下进行转换之前我应该对字节数组做些什么吗?
谢谢,尼尔
【问题讨论】:
-
试试相反的
System.Text.Encoding.ASCII.GetBytes("1001");。你会得到49,48,48,49:) -
您是否尝试将字符串
1001转换为字节并检查结果? -
我想投赞成票仅仅是因为你正在使用测试!!!
-
谢谢大家,点击时的全脸手掌时刻......
标签: c# string unit-testing bytearray type-conversion