为什么不``Encoding.UTF8.GetBytes(Encoding.UTF8.GetString(x))== x`

Pyr*_*Jim 5 c# utf-8

在.NET中为什么不是这样:

Encoding.UTF8.GetBytes(Encoding.UTF8.GetString(x))
Run Code Online (Sandbox Code Playgroud)

返回任意字节数组的原始字节数组x

在回答另一个问题时提到它,但响应者没有解释原因.

wat*_*rif 1

这是因为 == 不会比较数组的每个元素。它与 Encoding.UTF8 没有任何关系。检查一下:

var a = new byte[] { 1 };
var b = new byte[] { 1 };
bool res = a == b;
Run Code Online (Sandbox Code Playgroud)