GetInvalidFileNameChars() не содержит все недопустимые символы
Согласно http://msdn.microsoft.com/en-us/library/system.io.path.getinvalidpathchars%28v=vs.110%29.aspx Path.GetInvalidFileNameChars()
должен дать следующий вывод
// Note: Some characters may not be displayable on the console.
// The output will look something like:
//
// The following characters are invalid in a path:
// Char Hex Value
// ", 0022
// <, 003C
// >, 003E
// |, 007C
// ...
//
// The following characters are invalid in a filename:
// Char Hex Value
// ", 0022
// <, 003C
// >, 003E
// |, 007C
// ...
Однако я только получаю
Char Hex Value
, 0000
/, 002F
В чем дело?
1 ответ
Решение
Из статьи вы связали:
Массив, возвращаемый этим методом, не обязательно содержит полный набор символов, недопустимых в именах файлов и каталогов. Полный набор недопустимых символов может варьироваться в зависимости от файловой системы. Например, на настольных платформах под управлением Windows недопустимые символы пути могут включать символы ASCII/Unicode с 1 по 31, а также кавычки ("), меньше чем (<), больше чем (>), pipe (|), backspace (\ b), ноль (\0) и табуляция (\t).