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