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 unit.

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 UTF-16 code unit in the range from U+D800 to U+DFFF. Each character with a code unit in this range belongs to the UnicodeCategory.Surrogate category. The individual surrogate code unit 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 code example demonstrates IsSurrogate.

using System;

public class IsSurrogateSample {
	public static void Main() {
		string str = "\U00010F00"; // Unicode values between 0x10000 and 0x10FFF are represented by two 16-bit "surrogate" characters

		Console.WriteLine(Char.IsSurrogate('a'));		// Output: "False"
		Console.WriteLine(Char.IsSurrogate(str, 0));	// Output: "True"

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: 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 3.5, 2.0

XNA Framework

Supported in: 3.0, 2.0, 1.0

Community Additions

© 2015 Microsoft