Char.IsSurrogate Method (String, Int32)
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Indicates whether the character at the specified position in a specified string has a surrogate code unit.
Assembly: mscorlib (in mscorlib.dll)
'Declaration Public Shared Function IsSurrogate ( _ s As String, _ index As Integer _ ) As Boolean
Return Value
Type: System.Booleantrue 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 Nothing. |
| 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 Unicode 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 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