Open In App

C# | Char.IsHighSurrogate(String, Int32) Method

Improve
Improve
Like Article
Like
Save
Share
Report

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




// C# program to demonstrate the
// Char.IsHighSurrogate(String,
// Int32) Method
using System;
 
class GFG {
 
    // Main Method
    public static void Main()
    {
        try {
 
            // calling check() Method
            check("1234", 3);
            check("Tsunami", 3);
            check("psyc0lo", 4);
 
            // declaring and initializing string s1
            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);
        }
    }
 
    // Defining check() method
    public static void check(string s, int i)
    {
 
        // checking condition
        // using IsHighSurrogate() Method
        bool val = Char.IsHighSurrogate(s, i);
 
        // checking
        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




// C# program to demonstrate the
// Char.IsHighSurrogate(String,
// Int32) Method
using System;
 
class GFG {
 
    // Main Method
    public static void Main()
    {
        try {
 
            // calling check() Method
            check("1234", 3);
            check("Tsunami", 3);
            check("psyc0lo", 4);
            Console.WriteLine("");
            Console.WriteLine("s is null");
            check(null, 4);
 
            // declaring and initializing string s1
            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);
        }
    }
 
    // Defining check() method
    public static void check(string s, int i)
    {
        // checking condition
        // using IsHighSurrogate() Method
        bool val = Char.IsHighSurrogate(s, i);
 
        // checking
        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




// C# program to demonstrate the
// Char.IsHighSurrogate(String,
// Int32) Method
using System;
 
class GFG {
 
    // Main Method
    public static void Main()
    {
        try {
 
            // calling check() Method
            check("1234", 3);
            check("Tsunami", 3);
 
            // declaring and initializing string s1
            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);
        }
    }
 
    // Defining check() method
    public static void check(string s, int i)
    {
        // checking condition
        // using IsHighSurrogate() Method
        bool val = Char.IsHighSurrogate(s, i);
 
        // checking
        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:



Last Updated : 07 Sep, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads