C # / Mac: Path.GetInvalidPathChars () и Path.GetInvalidFileNameChars () результат - PullRequest
2 голосов
/ 01 февраля 2010

Что это показывает на 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(", ");
}

Для справки, я включаю вывод GetInvalidPathChars в Windows и Linux.

Вывод в 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,

Кроме того, я включаю вывод GetInvalidFileNameChars в Windows и Linux.

Вывод в 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

Ответы [ 2 ]

2 голосов
/ 04 февраля 2010

Вывод в Mac OS X такой же, как в Linux:

GetInvalidPathChars: 0, GetInvalidFileNameChars: 0, 47,

0 голосов
/ 29 сентября 2013

Вот соответствующий код из Mono на Github: https://github.com/mono/mono/blob/master/mcs/class/corlib/System.IO/Path.cs#L540

Когда не работает в Windows, оба метода возвращают только нулевой символ, а GetInvalidFileNameChars дополнительно - символ косой черты. Кажется, нет никакой разницы в том, какая операционная система или файловая система не Windows.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...