Export (0) Print
Expand All

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.

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

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0, 1.1

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

XNA Framework

Supported in: 3.0, 2.0, 1.0

Portable Class Library

Supported in: Portable Class Library

Supported in: Windows Phone 8.1

Supported in: Windows Phone Silverlight 8.1

Supported in: Windows Phone Silverlight 8
Show:
© 2015 Microsoft