Ben*_*Ben 3 c# string-formatting
只是尝试使用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);
Run Code Online (Sandbox Code Playgroud)
EDIT1:OK,我错了,但似乎string.format对于工作这家伙的情况下用string[].
我可以看到有一种重载方法string.format:
Format(String, array<Object>[]()[]).是否有可能创建某种形式的byte [],可以这样做array<Object>[]()[]?
发生错误是因为您要格式化6个项目,但参数列表中只有1个
//6 parameters expected, only one "MacAddr" given
mac = string.Format("{0:X2}-{1:X2}-{2:X2}-{3:X2}-{4:X2}-{5:X2}", MacAddr);
Run Code Online (Sandbox Code Playgroud)
与您的工作方法相比,这是一个更短的版本
mac = string.Join("-", MacAddr.Select(x => x.ToString("X2")));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
78 次 |
| 最近记录: |