C#/Mac:Path.GetInvalidPathChars() 和 Path.GetInvalidFileNameChars() 结果
这在 OSX 上显示什么?任何人都可以在他们的机器上使用 Mono 运行它吗?
foreach (char c in System.IO.Path.GetInvalidPathChars())
{
Console.Write((byte)c);
Console.Write(", ");
}
显示什么:
foreach (char c in System.IO.Path.GetInvalidFileNameChars())
{
Console.Write((byte)c);
Console.Write(", ");
}
作为参考,我在 Windows 和 Linux 中包含了 GetInvalidPathChars 的输出。
Windows 中的输出: 34、60、62、124、0、1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16、17、1 8, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
openSUSE 中的输出: 0,
此外,我还包括 Windows 和 Linux 中 GetInvalidFileNameChars 的输出。
Windows 中的输出: 34、60、62、124、0、1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16、17、1 8, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 58, 42, 63, 92, 47,
openSUSE 中的输出: 0, 47,
问候,
_NT
What does this display on OSX? Can anyone run this on their machines using Mono?
foreach (char c in System.IO.Path.GetInvalidPathChars())
{
Console.Write((byte)c);
Console.Write(", ");
}
and what does this display:
foreach (char c in System.IO.Path.GetInvalidFileNameChars())
{
Console.Write((byte)c);
Console.Write(", ");
}
For reference, I'm including the output of GetInvalidPathChars in Windows and Linux.
Output in Windows:
34, 60, 62, 124, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1
8, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
Output in openSUSE:
0,
Furthermore, I'm including the output of GetInvalidFileNameChars in Windows and Linux.
Output in Windows:
34, 60, 62, 124, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1
8, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 58, 42, 63, 92, 47,
Output in openSUSE:
0, 47,
Regards,
_NT
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
Mac OS X 上的输出与 Linux 上的输出相同:
GetInvalidPathChars: 0,
获取无效文件名字符: 0, 47,
The output on Mac OS X is the same as on Linux:
GetInvalidPathChars: 0,
GetInvalidFileNameChars: 0, 47,
以下是 Github 上 Mono 的相关代码:
https://github.com /mono/mono/blob/master/mcs/class/corlib/System.IO/Path.cs#L540
当不在 Windows 上运行时,这两种方法仅返回空字符和
GetInvalidFileNameChars
另外还有正斜杠字符。使用非 Windows 操作系统或文件系统似乎没有任何区别。Here's the relevant code from Mono on Github:
https://github.com/mono/mono/blob/master/mcs/class/corlib/System.IO/Path.cs#L540
When not running on Windows, both methods only return the null character and the
GetInvalidFileNameChars
additionally the forward slash character. There doesn't seem to be any difference regarding what non-Windows operating system or file system is used.