IsSurrogate Method (String, Int32)
Collapse the table of content
Expand the table of content

Char.IsSurrogate Method (String, Int32)

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

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

public static bool IsSurrogate(
	string s,
	int index


Type: System.String
A string.
Type: System.Int32
The character position in s.

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.


s is null.


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

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.

The following example demonstrates IsSurrogate.

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"


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

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

Community Additions

© 2015 Microsoft