3

这在 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

4

2 回答 2

2

Mac OS X 上的输出与 Linux 上相同:

GetInvalidPathChars: 0, GetInvalidFileNameChars: 0, 47,

于 2010-02-04T18:19:06.447 回答
0

以下是来自 Mono 在 Github 上的相关代码: https ://github.com/mono/mono/blob/master/mcs/class/corlib/System.IO/Path.cs#L540

当不在 Windows 上运行时,这两种方法都只返回空字符和GetInvalidFileNameChars正斜杠字符。使用什么非 Windows 操作系统或文件系统似乎没有任何区别。

于 2013-09-29T17:12:32.000 回答