C#中的String.IsNormalized()方法用于指示此字符串是否采用特定的Unicode规范化形式。
语法如下-
public bool IsNormalized (); public bool IsNormalized (System.Text.NormalizationForm normalizationForm);
上面的参数normalizationForm是Unicode标准化形式。
现在让我们看一个例子-
using System; public class Demo { public static void Main(String[] args) { string str1 = "Ryan"; string str2 = "Matt"; Console.WriteLine("String 1 = "+str1); Console.WriteLine("HashCode of String 1 = "+str1.GetHashCode()); Console.WriteLine("Index of character 'k' in str1 = " + str1.IndexOf("k")); Console.WriteLine("\nString 2 = "+str2); Console.WriteLine("HashCode of String 2 = "+str2.GetHashCode()); Console.WriteLine("Index of character 'k' in str2 =" + str2.IndexOf("k")); bool res1 = str1.Contains(str2); res1 = str1.IsNormalized(); Console.WriteLine("\nThe str1 is in normalized form = "+res1); bool res2 = str1.Contains(str2); res2 = str2.IsNormalized(); Console.WriteLine("The str2 is in normalized form = "+res2); } }
输出结果
这将产生以下输出-
String 1 = Ryan HashCode of String 1 = 1580592915 Index of character 'k' in str1 = -1 String 2 = Matt HashCode of String 2 = -1920007383 Index of character 'k' in str2 =-1 The str1 is in normalized form = True The str2 is in normalized form = True
现在让我们来看另一个示例-
using System; using System.Text; public class Demo { public static void Main(String[] args) { string str1 = "Imagine Dragons"; string str2 = "Imagine"; Console.WriteLine("String 1 = "+str1); Console.WriteLine("HashCode of String 1 = "+str1.GetHashCode()); Console.WriteLine("String 2 = "+str2); Console.WriteLine("HashCode of String 2 = "+str2.GetHashCode()); Console.WriteLine("String 1 is equal to String 2: {0}", str1.Equals(str2)); Console.WriteLine("str1 is normalized to form C? = {0}", str1.IsNormalized(NormalizationForm.FormC)); Console.WriteLine("str2 is normalized to form C? = {0}", (str2.IsNormalized(NormalizationForm.FormC))); Console.WriteLine("str1 is normalized to form D? = {0}", str1.IsNormalized(NormalizationForm.FormD)); Console.WriteLine("str2 is normalized to form D? = {0}", str2.IsNormalized(NormalizationForm.FormD)); Console.WriteLine("str1 is normalized to form KC? = {0}", str1.IsNormalized(NormalizationForm.FormKC)); Console.WriteLine("str2 is normalized to form KC? = {0}", str2.IsNormalized(NormalizationForm.FormKC)); Console.WriteLine("str1 is normalized to form KC? = {0}", str1.IsNormalized(NormalizationForm.FormKC)); Console.WriteLine("str2 is normalized to form KC? = {0}", str2.IsNormalized(NormalizationForm.FormKC)); } }
输出结果
这将产生以下输出-
String 1 = Imagine Dragons HashCode of String 1 = -1546868095 String 2 = Imagine HashCode of String 2 = -1414695254 String 1 is equal to String 2: False str1 is normalized to form C? = True str2 is normalized to form C? = True str1 is normalized to form D? = True str2 is normalized to form D? = True str1 is normalized to form KC? = True str2 is normalized to form KC? = True str1 is normalized to form KC? = True str2 is normalized to form KC? = True