C# | Char.IsLowSurrogate(String, Int32) Method - GeeksforGeeks

01 Feb, 2019
This method is used to indicates whether the Char object at the specified position in a string is a low surrogate or not.
Syntax:
public static bool IsLowSurrogate (string s, int index);
Parameters:
s: It is a String.
index: It is the character position to evaluate in s.
Return Value: This method returns true if the numeric value of the specified character in the s parameter ranges from U+DC00 through U+DFFF 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.IsLowSurrogate(String, Int32) Method:
Example 1:
// C# program to demonstrate// Char.IsLowSurrogate(String,// Int32) Methodusing 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, 2);        }        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 IsLowSurrogate() Method        bool val = Char.IsLowSurrogate(s, i);          // checking        if (val)            Console.WriteLine("String '{0}' contains Low "                + "Surrogate value at index {1} ",  s, i);                                      else            Console.WriteLine("String '{0}' does't contain any Low"                           + "Surrogate value at index {1}", s, i);                                   }}
String '1234' does't contain any LowSurrogate value at index 3
String 'Tsunami' does't contain any LowSurrogate value at index 3
String 'psyc0lo' does't contain any LowSurrogate value at index 4
String 'að??z' contains Low Surrogate value at index 2

Example 2: For ArgumentNullException
// C# program to demonstrate// Char.IsLowSurrogate(String,// Int32) Methodusing 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, 2);              Console.WriteLine("");            Console.WriteLine("s is null");            check(null, 4);        }        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 IsLowSurrogate() Method        bool val = Char.IsLowSurrogate(s, i);          // checking        if (val)            Console.WriteLine("String '{0}' contains Low "                  + "Surrogate value at index {1} ",s, i);                                        else            Console.WriteLine("String '{0}' does't contain any Low"                            + "Surrogate value at index {1}",s, i);                                    }}
String '1234' does't contain any LowSurrogate value at index 3
String 'Tsunami' does't contain any LowSurrogate value at index 3
String 'psyc0lo' does't contain any LowSurrogate value at index 4
String 'að??z' contains Low Surrogate value at index 2 

s is null
Exception Thrown: System.ArgumentNullException

Example 3: For ArgumentOutOfRangeException
// C# program to demonstrate// Char.IsLowSurrogate(String,// Int32) Methodusing 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, 2);              Console.WriteLine("");            Console.WriteLine("index is less than zero");            check("null", -4);        }        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 IsLowSurrogate() Method        bool val = Char.IsLowSurrogate(s, i);          // checking        if (val)            Console.WriteLine("String '{0}' contains Low "                  + "Surrogate value at index {1} ",s, i);                                        else            Console.WriteLine("String '{0}' does't contain any Low"                            + "Surrogate value at index {1}",s, i);                                    }}
String '1234' does't contain any LowSurrogate value at index 3
String 'Tsunami' does't contain any LowSurrogate value at index 3
String 'psyc0lo' does't contain any LowSurrogate value at index 4
String 'að??z' contains Low Surrogate value at index 2 

index is less than zero
Exception Thrown: System.ArgumentOutOfRangeException

Reference:
https://docs.microsoft.com/en-us/dotnet/api/system.char.islowsurrogate?view=netframework-4.7.2#System_Char_IsLowSurrogate_System_String_System_Int32_
CSharp-Char-Struct
CSharp-method
C#
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Comments
Old Comments
Difference between Abstract Class and Interface in C#
C# | How to check whether a List contains a specified element
C# | Method Overriding
C# Dictionary with examples
C# | IsNullOrEmpty() Method
Difference between Ref and Out keywords in C#
String.Split() Method in C# with Examples
C# | Arrays of Strings
C# | Delegates
Top 50 C# Interview Questions & Answers