This method is used to indicates whether the Char object at the specified position in a string is a high surrogate or not. Syntax:
public static bool IsHighSurrogate (string s, int index);
Parameters:
s: It is a String. index: It is the character position in s.
Return Value: This method returns true if the numeric value of the specified character in the s parameter ranges from U+D800 through U+DBFF; otherwise it returns false. Exceptions:
- ArgumentNullException: If the s is null.
- ArgumentOutOfRangeException: If the index is not a position within s.
Below programs illustrate the use of Char.IsHighSurrogate(String, Int32) Method: Example 1:
csharp
using System;
class GFG {
public static void Main()
{
try {
check("1234", 3);
check("Tsunami", 3);
check("psyc0lo", 4);
string s1 = new String( new char [] { 'a' ,
'\uD800' , '\uDC00' , 'z' });
check(s1, 1);
}
catch (ArgumentNullException e) {
Console.Write("Exception Thrown: ");
Console.Write("{0}", e.GetType(), e.Message);
}
catch (ArgumentOutOfRangeException e) {
Console.Write("Exception Thrown: ");
Console.Write("{0}", e.GetType(), e.Message);
}
}
public static void check( string s, int i)
{
bool val = Char.IsHighSurrogate(s, i);
if (val)
Console.WriteLine("String '{0}' contains High "
+ "Surrogate value at index {1} ", s, i);
else
Console.WriteLine("String '{0}' doesn't contain any High"
+ "Surrogate value at index {1}", s, i);
}
}
|
Output:
String '1234' does't contain any HighSurrogate value at index 3
String 'Tsunami' does't contain any HighSurrogate value at index 3
String 'psyc0lo' does't contain any HighSurrogate value at index 4
String 'að??z' contains High Surrogate value at index 1
Example 2: For ArgumentNullException
csharp
using System;
class GFG {
public static void Main()
{
try {
check("1234", 3);
check("Tsunami", 3);
check("psyc0lo", 4);
Console.WriteLine("");
Console.WriteLine("s is null ");
check( null , 4);
string s1 = new String( new char [] { 'a' ,
'\uD800' , '\uDC00' , 'z' });
check(s1, 1);
}
catch (ArgumentNullException e) {
Console.Write("Exception Thrown: ");
Console.Write("{0}", e.GetType(), e.Message);
}
catch (ArgumentOutOfRangeException e) {
Console.Write("Exception Thrown: ");
Console.Write("{0}", e.GetType(), e.Message);
}
}
public static void check( string s, int i)
{
bool val = Char.IsHighSurrogate(s, i);
if (val)
Console.WriteLine("String '{0}' contains High "
+ "Surrogate value at index {1} ",s, i);
else
Console.WriteLine("String '{0}' doesn't contain any High"
+ "Surrogate value at index {1}",s, i);
}
}
|
Output:
String '1234' does't contain any HighSurrogate value at index 3
String 'Tsunami' does't contain any HighSurrogate value at index 3
String 'psyc0lo' does't contain any HighSurrogate value at index 4
s is null
Exception Thrown: System.ArgumentNullException
Example 3: For ArgumentOutOfRangeException
csharp
using System;
class GFG {
public static void Main()
{
try {
check("1234", 3);
check("Tsunami", 3);
string s1 = new String( new char [] { 'a' ,
'\uD800' , '\uDC00' , 'z' });
check(s1, 1);
Console.WriteLine("");
Console.WriteLine("index is less than zero");
check("fjsjsj", -1);
}
catch (ArgumentNullException e) {
Console.Write("Exception Thrown: ");
Console.Write("{0}", e.GetType(), e.Message);
}
catch (ArgumentOutOfRangeException e) {
Console.Write("Exception Thrown: ");
Console.Write("{0}", e.GetType(), e.Message);
}
}
public static void check( string s, int i)
{
bool val = Char.IsHighSurrogate(s, i);
if (val)
Console.WriteLine("String '{0}' contains High "
+ "Surrogate value at index {1} ", s, i);
else
Console.WriteLine("String '{0}' doesn't contain any High"
+ "Surrogate value at index {1}", s, i);
}
}
|
Output:
String '1234' does't contain any HighSurrogate value at index 3
String 'Tsunami' does't contain any HighSurrogate value at index 3
String 'að??z' contains High Surrogate value at index 1
index is less than zero
Exception Thrown: System.ArgumentOutOfRangeException
Reference:
Whether you're preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape,
GeeksforGeeks Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we've already empowered, and we're here to do the same for you. Don't miss out -
check it out now!
Last Updated :
07 Sep, 2022
Like Article
Save Article