Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

Path::InvalidPathChars Field

Note: This API is now obsolete. The non-obsolete alternative is GetInvalidPathChars.

Provides a platform-specific array of characters that cannot be specified in path string arguments passed to members of the Path class.

Namespace:  System.IO
Assembly:  mscorlib (in mscorlib.dll)

[ObsoleteAttribute(L"Please use GetInvalidPathChars or GetInvalidFileNameChars instead.")]
static initonly array<wchar_t>^ InvalidPathChars

Field Value

Type: array<System::Char>
A character array of invalid path characters for the current platform.

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 quote ("), less than (<), greater than (>), pipe (|), backspace (\b), null (\0) and tab (\t).

Caution noteCaution

Do not use InvalidPathChars if you think your code might execute in the same application domain as untrusted code. InvalidPathChars is an array, so its elements can be overwritten. If untrusted code overwrites elements of InvalidPathChars, it might cause your code to malfunction in ways that could be exploited.

The following code example demonstrates the use of the InvalidPathChars property.

Console::WriteLine( "Path::AltDirectorySeparatorChar={0}", (Path::AltDirectorySeparatorChar).ToString() );
Console::WriteLine( "Path::DirectorySeparatorChar={0}", (Path::DirectorySeparatorChar).ToString() );
Console::WriteLine( "Path::PathSeparator={0}", (Path::PathSeparator).ToString() );
Console::WriteLine( "Path::VolumeSeparatorChar={0}", (Path::VolumeSeparatorChar).ToString() );
Console::Write( "Path::InvalidPathChars=" );
for ( int i = 0; i < Path::InvalidPathChars->Length; i++ )
   Console::Write( Path::InvalidPathChars[ i ] );

// This code produces output similar to the following: 
// Note that the InvalidPathCharacters contain characters 
// outside of the printable character set. 
// Path.AltDirectorySeparatorChar=/ 
// Path.DirectorySeparatorChar=\ 
// Path.PathSeparator=; 
// Path.VolumeSeparatorChar=:

.NET Framework

Supported in: 1.1
Obsolete (compiler warning) in 4.6
Obsolete (compiler warning) in 4.6
Obsolete (compiler warning) in 4.5
Obsolete (compiler warning) in 4.5.1
Obsolete (compiler warning) in 4.5.2
Obsolete (compiler warning) in 4
Obsolete (compiler warning) in 3.5
Obsolete (compiler warning) in 3.5 SP1
Obsolete (compiler warning) in 3.0
Obsolete (compiler warning) in 3.0 SP1
Obsolete (compiler warning) in 3.0 SP2
Obsolete (compiler warning) in 2.0
Obsolete (compiler warning) in 2.0 SP1
Obsolete (compiler warning) in 2.0 SP2

.NET Framework Client Profile

Obsolete (compiler warning) in 4
Obsolete (compiler warning) in 3.5 SP1

XNA Framework

Obsolete (compiler warning) in 3.0
Obsolete (compiler warning) in 2.0
Obsolete (compiler warning) in 1.0
© 2015 Microsoft