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
)

Parameters

s
Type: System.String

A string.

index
Type: System.Int32

The position of the character to evaluate 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.

Exception Condition
ArgumentNullException

s is null.

ArgumentOutOfRangeException

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"
	}
}

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