NOTE: This API is now obsolete.
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)
Visual Basic (Declaration)
<ObsoleteAttribute("Please use GetInvalidPathChars or GetInvalidFileNameChars instead.")> _
Public Shared ReadOnly InvalidPathChars As Char()
Dim value As Char()
value = Path.InvalidPathChars
[ObsoleteAttribute("Please use GetInvalidPathChars or GetInvalidFileNameChars instead.")]
public static readonly char[] InvalidPathChars
[ObsoleteAttribute(L"Please use GetInvalidPathChars or GetInvalidFileNameChars instead.")]
public:
static initonly array<wchar_t>^ InvalidPathChars
public static final var InvalidPathChars : char[]
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: |
|---|
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)
Console.WriteLine("Path.DirectorySeparatorChar={0}", Path.DirectorySeparatorChar)
Console.WriteLine("Path.PathSeparator={0}", Path.PathSeparator)
Console.WriteLine("Path.VolumeSeparatorChar={0}", Path.VolumeSeparatorChar)
Console.Write("Path.InvalidPathChars=")
Dim c As Char
For Each c In Path.InvalidPathChars
Console.Write(c)
Next c
Console.WriteLine()
' 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=:
Console.WriteLine("Path.AltDirectorySeparatorChar={0}",
Path.AltDirectorySeparatorChar);
Console.WriteLine("Path.DirectorySeparatorChar={0}",
Path.DirectorySeparatorChar);
Console.WriteLine("Path.PathSeparator={0}",
Path.PathSeparator);
Console.WriteLine("Path.VolumeSeparatorChar={0}",
Path.VolumeSeparatorChar);
Console.Write("Path.InvalidPathChars=");
foreach (char c in Path.InvalidPathChars)
Console.Write(c);
Console.WriteLine();
// 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=:
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 ] );
Console::WriteLine();
// 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=:
Console.WriteLine("Path.AltDirectorySeparatorChar={0}",
Path.AltDirectorySeparatorChar);
Console.WriteLine("Path.DirectorySeparatorChar={0}",
Path.DirectorySeparatorChar);
Console.WriteLine("Path.PathSeparator={0}",
Path.PathSeparator);
Console.WriteLine("Path.VolumeSeparatorChar={0}",
Path.VolumeSeparatorChar);
Console.Write("Path.InvalidPathChars=");
for (var c : char in Path.InvalidPathChars)
Console.Write(c);
Console.WriteLine();
Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC, Xbox 360, Zune
The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
.NET Framework
Supported in: 1.1, 1.0
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 Compact Framework
Supported in: 1.0
Obsolete (compiler warning) in 3.5
Obsolete (compiler warning) in 2.0
XNA Framework
Obsolete (compiler warning) in 3.0
Obsolete (compiler warning) in 2.0
Obsolete (compiler warning) in 1.0
Reference
Other Resources