Path.GetInvalidPathChars Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets an array containing the characters that are not allowed in path names.
public:
static cli::array <char> ^ GetInvalidPathChars();
public static char[] GetInvalidPathChars ();
static member GetInvalidPathChars : unit -> char[]
Public Shared Function GetInvalidPathChars () As Char()
Returns
An array containing the characters that are not allowed in path names.
Examples
The following example demonstrates the GetInvalidFileNameChars method and the GetInvalidPathChars method to retrieve invalid characters.
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
' ...
Remarks
The array returned from this method is not guaranteed to contain the complete set of characters that are invalid in file and directory names. The full set of invalid characters can vary by file system. For example, on Windows-based desktop platforms, invalid path characters might include ASCII/Unicode characters 1 through 31, as well as pipe (|) and null (\0).