Char.IsSurrogate Method (String, Int32)

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

Indicates whether the character at the specified position in a specified string has a surrogate code point.

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

Syntax

'Declaration
Public Shared Function IsSurrogate ( _
    s As String, _
    index As Integer _
) As Boolean
public static bool IsSurrogate(
    string s,
    int index
)

Parameters

Return Value

Type: System.Boolean
true if the character at position index in s is a either a high surrogate or a low surrogate; otherwise, false.

Exceptions

Exception Condition
ArgumentNullException

s is nulla null reference (Nothing in Visual Basic).

ArgumentOutOfRangeException

index is less than zero or greater than the last position in s.

Remarks

Character positions in a string are indexed starting from zero.

A surrogate is a Char object with a Unicode code point in the range from U+D800 to U+DFFF. Each character with a code point in this range belongs to the UnicodeCategory.Surrogate category. The individual surrogate code point has no interpretation of its own, but has meaning only when used as part of a surrogate pair. For more information about surrogate pairs, see the Unicode Standard at the Unicode home page.

Examples

The following example demonstrates IsSurrogate.


Module Example

   Public Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)

      ' NOTE: Visual Basic doesn't give us a way to create a 32-bit Unicode 
      ' character composed of two 16-bit surrogate values, so a case where 
      ' IsSurrogate returns True cannot be included in this sample. 

      outputBlock.Text &= Char.IsSurrogate("a"c) & vbCrLf       ' Output: "False"

   End Sub

End Module
using System;

public class Example
{
   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      string str = "\U00010F00"; // Unicode values between 0x10000 and 0x10FFF are represented by two 16-bit "surrogate" characters

      outputBlock.Text += Char.IsSurrogate('a') + "\n";     // Output: "False"
      outputBlock.Text += Char.IsSurrogate(str, 0) + "\n";  // Output: "True"
   }
}

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.