Open In App

C# | String.IsNormalized Method

Improve
Improve
Like Article
Like
Save
Share
Report

IsNormalized() method is used to check whether the given string is in a particular Unicode normalization form or not. If the given string is in the particular normalized form, then this method returns true. Otherwise, return false.
There are two methods in the overload list of this method as follows:

  1. IsNormalized()
  2. IsNormalized(NormalizationForm)

Important Points:

  • Some Unicode characters have multiple equivalent binary representations which complicate the searching, sorting, matching and other operations.
  • The Unicode standard defines a process termed as normalization which returns one binary representation when given any of the equivalent binary representations of a character. Normalization can be performed with several algorithms, called normalization forms, that obey different rules.
  • .NET currently supports normalization forms C, D, KC, and KD.

IsNormalized()

This method is used to check whether the given string is in Unicode normalization form C or not. If the string is in Unicode normalized form C then this method return true, otherwise false.

Syntax:

public bool IsNormalized ();

Return Value: The return type of this method is System.Boolean. This method returns true when the given string is in normalization form C and return false when the given string is not in the normalization form i.e C.

Exception: If the current instance contains invalid Unicode characters, then this method will give ArgumentException.

Example:

CSharp




// C# program to illustrate the
// IsNormalized() method
using System;
using System.Text;
  
class GFG {
      
    // Main method
    static public void Main()
    {
  
        // string
        string str1 = "Hello, Geeks!";
  
        bool value;
  
        // check the given string is
        // in normalized form or not
        // using IsNormalized() method
        value = str1.IsNormalized();
  
        // Display the data
        Console.WriteLine("String is : {0}", str1);
        Console.WriteLine("Is str1 string is in normalized form?: {0}"
                                                                value);
    }
}


Output:

String is : Hello, Geeks!
Is str1 string is in normalized form?: True

Note: The IsNormalized method returns false as it will come across the first non-normalized character in a string. So, if a string contains non-normalized characters followed by invalid Unicode characters, the Normalize method will throw an ArgumentException although IsNormalized returns false.

IsNormalized(NormalizationForm)

This method is used to check whether the given string is in the specified Unicode normalization form or not. If the given string is in specified Unicode normalization form then this method will return true, otherwise false.

Syntax:

public bool IsNormalized (NormalizationForm nform);

Here, nform is a Unicode normalization form.

Return Value: The return type of this method is System.Boolean. This method returns true if this string is in the normalization form specified by the nform parameter. Otherwise, returns false.

Exception: This method will give ArgumentException if the current instance contains invalid Unicode characters.

Example:

CSharp




// C# program to illustrate the 
// IsNormalized(NormalizationForm) method
using System;
using System.Text;
  
class Sample {
      
    // Main method
    public static void Main()
    {
          
        // create and initialize string
        string str1 = "GeeksforGeeks!";
  
        // Display and check the given string 
        // is in C, D, KC, and KD normalized form
        // Using IsNormalized(NormalizationForm) method
        Console.WriteLine("Is string str1 is normalized to form C - {0}",
                             str1.IsNormalized(NormalizationForm.FormC));
                               
        Console.WriteLine("Is string str1 is normalized to form D - {0}",
                             str1.IsNormalized(NormalizationForm.FormD));
                               
        Console.WriteLine("Is string str1 is normalized to form KC - {0}",
                             str1.IsNormalized(NormalizationForm.FormKC));
                               
        Console.WriteLine("Is string str1 is normalized to form KD - {0}",
                             str1.IsNormalized(NormalizationForm.FormKD));
    }
}


Output:

Is string str1 is normalized to form C - True
Is string str1 is normalized to form D - True
Is string str1 is normalized to form KC - True
Is string str1 is normalized to form KD - True

Reference: https://docs.microsoft.com/en-us/dotnet/api/system.string.isnormalized?view=netframework-4.7.2



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