Debug.WriteLine 和 string.Join 的奇怪结果

Strange result with Debug.WriteLine and string.Join

此代码

byte[] frame = BuildMessageFrame(message);
Debug.WriteLine("TX: {0}", string.Join(", ", frame));

我假设它会给出这样一行:

TX: 0, 2, 0, 0, 0, 6, 1, 3, 0, 1, 0, 2

相反我得到:

0, 2, 0, 0, 0, 6, 1, 3, 0, 1, 0, 2: TX: {0}

为什么?

PS!我正在使用 .net 4.5.2,但找不到此版本的任何标签...

您正在使用此方法 https://msdn.microsoft.com/en-us/library/1w33ay0x(v=vs.110).aspx,它使用 string.Join(", ", frame) 作为类别。

大概您期望 String.Format 这样的行为,因此您需要明确地使用它。

捂脸?