Uri.IsUnc Property

Microsoft Silverlight will reach end of support after October 2021. Learn more.

Gets whether the specified Uri is a universal naming convention (UNC) path.

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

Syntax

'Declaration
Public ReadOnly Property IsUnc As Boolean
public bool IsUnc { get; }

Property Value

Type: System.Boolean
A Boolean value that is true if the Uri is a UNC path; otherwise, false.

Exceptions

Exception Condition
InvalidOperationException

This property is valid only for an absolute Uri instance.

Remarks

The IsUnc property is true if the specified Uri instance is a UNC path (such as \\server\folder or file://server/folder). This property always returns true if the URI has the file:// scheme and specifies a host component.

Silverlight-based applications are cross-platform, so they run in most modern Web browsers, including Apple Safari version 2.0 and later on Apple Mac OS X. However, full parsing for UNC style paths in a Uri is supported only on Windows. Any backslashes in a Uri for the UriSchemeFile representing a UNC path are converted to forward slashes on Apple Mac OS X.

An example that displays this issue is below:

Uri testUri = Uri(@"file://\\computer\download\file.ext");

On Windows, this UNC path is converted to the following Uri:

file://computer/download/file.ext

The AbsolutePath is /download/file.ext.

The Host property is equal to: computer.

The IsUnc property is true.

The LocalPath property is \\computer\download\file.ext.

On Apple Mac OS X, this UNC path is converted to the following Uri:

file::////computer/download/file.ext

The AbsolutePath property is //computer/download/file.ext.

The Host property is an empty string.

The IsUnc property is false.

The LocalPath property is computer/download/file.ext.

Examples

The following example creates a Uri instance and determines whether it is a UNC path.

Dim uriAddress2 As Uri = New Uri("file://server/filename.ext")
outputBlock.Text &= uriAddress2.LocalPath
outputBlock.Text &= vbCrLf

If uriAddress2.IsUnc Then 
  outputBlock.Text &= "Uri is a UNC path"
  outputBlock.Text &= vbCrLf
Else
  outputBlock.Text &= "Uri is not a UNC path"
  outputBlock.Text &= vbCrLf
End If      
Uri uriAddress2 =  new Uri("file://server/filename.ext");
outputBlock.Text += uriAddress2.LocalPath;
outputBlock.Text += "\n";

if (uriAddress2.IsUnc) 
    outputBlock.Text += "Uri is a UNC path\n";
else
    outputBlock.Text += "Uri is not a UNC path\n";
Uri uriAddress2 =  new Uri("file://server/filename.ext");
Console.WriteLine(uriAddress2.LocalPath);
Console.WriteLine("Uri {0} a UNC path", uriAddress2.IsUnc ? "is" : "is not");

Version Information

Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.

See Also

Reference