Path::HasExtension Method (String^)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Determines whether a path includes a file name extension.

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

static bool HasExtension(
	String^ path


Type: System::String^

The path to search for an extension.

Return Value

Type: System::Boolean

true if the characters that follow the last directory separator (\\ or /) or volume separator (:) in the path include a period (.) followed by one or more characters; otherwise, false.

Exception Condition

path contains one or more of the invalid characters defined in GetInvalidPathChars.

Starting from the end of path, this method searches for a period (.) followed by at least one character. If this pattern is found before a DirectorySeparatorChar, AltDirectorySeparatorChar, or VolumeSeparatorChar character is encountered, this method returns true.

For a list of common I/O tasks, see Common I-O Tasks.

The following code example demonstrates the use of the HasExtension method.

String^ fileName1 = "myfile.ext";
String^ fileName2 = "mydir\\myfile";
String^ path = "C:\\mydir.ext\\";
bool result;
result = Path::HasExtension( fileName1 );
Console::WriteLine( "HasExtension('{0}') returns {1}", fileName1, result.ToString() );
result = Path::HasExtension( fileName2 );
Console::WriteLine( "HasExtension('{0}') returns {1}", fileName2, result.ToString() );
result = Path::HasExtension( path );
Console::WriteLine( "HasExtension('{0}') returns {1}", path, result.ToString() );

// This code produces output similar to the following:
// HasExtension('myfile.ext') returns True
// HasExtension('mydir\myfile') returns False
// HasExtension('C:\mydir.ext\') returns False

Universal Windows Platform
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Return to top