C# | Char.IsControl(String, Int32) Method
This method is used to indicates whether the character at the specified position in a specified string is categorized as a control character.
Syntax:
public static bool IsControl (string s, int index);
Parameters:
s: It is the String. index: It is the character position in s.
Return Value: This method returns true if the character at position index in s is a control character otherwise it returns, false.
Exceptions:
- ArgumentNullException: If the s is null.
- ArgumentOutOfRangeException: If the index is less than zero or greater than the last position in s.
Note: Control characters are formatting and other non-printing characters, such as ACK, BEL, CR, FF, LF, and VT.
Below programs illustrate the use of Char.IsControl(String, Int32) Method:
Example 1:
csharp
// C# program to demonstrate the // Char.IsControl(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); check("a" + Environment.NewLine + "b", 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 IsControl() Method bool val = Char.IsControl(s, i); // checking if (val) Console.WriteLine("Control character \\U{0} "+ "found in position {1}.", Convert.ToInt32(s[i]).ToString("X4"), i); else Console.WriteLine("String '{0}' doesn't contain control "+ "character at index {1}", s, i); } } |
Example 2: For ArgumentNullException
csharp
// C# program to demonstrate the // Char.IsControl(String, Int32) // Method using System; class GFG { // Main Method public static void Main() { try { // calling check() Method check("1234", 3); check("psyc0lo", 4); check("a" + Environment.NewLine + "b", 1); 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 IsControl() Method bool val = Char.IsControl(s, i); // checking if (val) Console.WriteLine("Control character \\U{0} found"+ " in position {1}.", Convert.ToInt32(s[i]).ToString("X4"), i); else Console.WriteLine("String '{0}' doesn't contain "+ "control character at index {1}", s, i); } } |
Output:
String '1234' does't contain control character at index 3 String 'psyc0lo' does't contain control character at index 4 Control character \U000A found in position 1. s is null Exception Thrown: System.ArgumentNullException
Example 3: For ArgumentOutOfRangeException
csharp
// C# program to demonstrate the // Char.IsControl(String, Int32) // Method using System; class GFG { // Main Method public static void Main() { try { // calling check() Method check("1234", 3); check("psyc0lo", 4); check("a" + Environment.NewLine + "b", 1); Console.WriteLine(""); Console.WriteLine("index is less than zero"); check(" null ", -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 IsControl() Method bool val = Char.IsControl(s, i); // checking if (val) Console.WriteLine("Control character \\U{0} found "+ " in position {1}.", Convert.ToInt32(s[i]).ToString("X4"), i); else Console.WriteLine("String '{0}' doesn't contain control"+ " character at index {1}", s, i); } } |
Output:
String '1234' does't contain control character at index 3 String 'psyc0lo' does't contain control character at index 4 Control character \U000A found in position 1. index is less than zero Exception Thrown: System.ArgumentOutOfRangeException
Reference:
- https://docs.microsoft.com/en-us/dotnet/api/system.char.iscontrol?view=netframework-4.7.2#System_Char_IsControl_System_String_System_Int32_