我试图使用string.Format()
将系统MAC地址转换为文本格式,但它没有起作用:
byte[] MacAddr = new byte[6];
// this works, but rather clumzy
mac = string.Format("{0:X2}-{1:X2}-{2:X2}-{3:X2}-{4:X2}-{5:X2}",
MacAddr[0], MacAddr[1], MacAddr[2], MacAddr[3], MacAddr[4], MacAddr[5]);
// give me index error
mac = string.Format("{0:X2}-{1:X2}-{2:X2}-{3:X2}-{4:X2}-{5:X2}", MacAddr);
编辑1:好的,我错了,但是看起来 string.format
可以适用于这个人使用string[]
的情况。
我注意到 string.format
有一个重载方法:Format(String, array<Object>[]()[])
。是否可能创建一些形式的 byte[],将其作为 array<Object>[]()[]
传递?
BitConverter.ToString
代替,但最好还是坚持你的第一种方法。 - Jon Skeet