Path.GetInvalidPathChars 方法

定义

获取包含不允许在路径名中使用的字符的数组。

public:
 static cli::array <char> ^ GetInvalidPathChars();
public static char[] GetInvalidPathChars ();
static member GetInvalidPathChars : unit -> char[]
Public Shared Function GetInvalidPathChars () As Char()

返回

Char[]

包含不允许在路径名中使用的字符的数组。

示例

以下示例演示 GetInvalidFileNameChars 用于检索无效字符的 方法和 GetInvalidPathChars 方法。

using namespace System;
using namespace System::IO;

namespace PathExample
{
    public ref class GetCharExample
    {
    public:
        static void Main()
        {
            // Get a list of invalid path characters.
            array<Char>^ invalidPathChars = Path::GetInvalidPathChars();

            Console::WriteLine("The following characters are invalid in a path:");
            ShowChars(invalidPathChars);
            Console::WriteLine();

            // Get a list of invalid file characters.
            array<Char>^ invalidFileChars = Path::GetInvalidFileNameChars();

            Console::WriteLine("The following characters are invalid in a filename:");
            ShowChars(invalidFileChars);
        }

        static void ShowChars(array<Char>^ charArray)
        {
            Console::WriteLine("Char\tHex Value");
            // Display each invalid character to the console.
            for each (Char someChar in charArray)
            {
                if (Char::IsWhiteSpace(someChar))
                {
                    Console::WriteLine(",\t{0:X4}", (Int16)someChar);
                }
                else
                {
                    Console::WriteLine("{0:c},\t{1:X4}", someChar, (Int16)someChar);
                }
            }
        }
    };
};

int main()
{
    PathExample::GetCharExample::Main();
}
// 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
// ...
using System;
using System.IO;

namespace PathExample
{
    class GetCharExample
    {
        public static void Main()
        {
            // Get a list of invalid path characters.
            char[] invalidPathChars = Path.GetInvalidPathChars();

            Console.WriteLine("The following characters are invalid in a path:");
            ShowChars(invalidPathChars);
            Console.WriteLine();

            // Get a list of invalid file characters.
            char[] invalidFileChars = Path.GetInvalidFileNameChars();

            Console.WriteLine("The following characters are invalid in a filename:");
            ShowChars(invalidFileChars);
        }

        public static void ShowChars(char[] charArray)
        {
            Console.WriteLine("Char\tHex Value");
            // Display each invalid character to the console.
            foreach (char someChar in charArray)
            {
                if (Char.IsWhiteSpace(someChar))
                {
                    Console.WriteLine(",\t{0:X4}", (int)someChar);
                }
                else
                {
                    Console.WriteLine("{0:c},\t{1:X4}", someChar, (int)someChar);
                }
            }
        }
    }
}
// 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
// ...
Imports System.IO

Namespace PathExample
    Public Class GetCharExample
        Public Shared Sub Main()
            ' Get a list of invalid path characters.
            Dim invalidPathChars() As Char = Path.GetInvalidPathChars()

            Console.WriteLine("The following characters are invalid in a path:")
            ShowChars(invalidPathChars)
            Console.WriteLine()

            ' Get a list of invalid file characters.
            Dim invalidFileChars() As Char = Path.GetInvalidFileNameChars()

            Console.WriteLine("The following characters are invalid in a filename:")
            ShowChars(invalidFileChars)
        End Sub

        Public Shared Sub ShowChars(charArray As Char())
            Console.WriteLine("Char" + vbTab + "Hex Value")
            ' Display each invalid character to the console.
            For Each someChar As Char In charArray
                If Char.IsWhiteSpace(someChar)
                    Console.WriteLine("," + vbTab + "{0:X4}", _
                        Microsoft.VisualBasic.Asc(someChar))
                Else
                    Console.WriteLine("{0:c}," + vbTab +"{1:X4}", someChar, _
                        Microsoft.VisualBasic.Asc(someChar))
                End If
            Next someChar
        End Sub
    End Class
End Namespace
' 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
' ...

注解

无法保证从此方法返回的数组包含文件和目录名称中无效的完整字符集。 完整的无效字符集可能因文件系统而异。 例如,在基于 Windows 的桌面平台上,无效的路径字符可能包括 ASCII/Unicode 字符 1 到 31,以及管道 (|) 和 null (\0) 。

适用于