IsNormalized()方法用于检查给定的字符串是否采用特定的Unicode规范化形式。如果给定的字符串采用特定的规范化形式,则此方法返回true。否则,返回false。
此方法的重载列表中有两种方法,如下所示:
- IsNormalized()
- IsNormalized(NormalizationForm)
重要事项:
- 一些Unicode字符具有多个等效的二进制表示形式,这些表示形式会使搜索,排序,匹配和其他操作复杂化。
- Unicode标准定义了一个称为标准化的过程,当给定字符的任何等效二进制表示形式时,该过程将返回一个二进制表示形式。可以使用几种遵循不同规则的算法(称为标准化形式)来执行标准化。
- .NET当前支持标准化表格C,D,KC和KD。
IsNormalized()
此方法用于检查给定的字符串是否采用Unicode规范化形式C。如果字符串采用Unicode规范化格式C,则此方法返回true,否则返回false。
用法:
public bool IsNormalized ();
返回值:此方法的返回类型为System.Boolean。当给定的字符串不是规范化形式C时,此方法返回true;如果给定的字符串不是规范化形式即C,则该方法返回false。
异常:如果当前实例包含无效的Unicode字符,则此方法将提供ArgumentException。
例:
// 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);
}
}
String is : Hello, Geeks! Is str1 string is in normalized form?: True
注意:IsNormalized方法返回false,因为它将遇到字符串中的第一个非规范化字符。因此,如果字符串包含非标准化字符后跟无效的Unicode字符,尽管IsNormalized返回false,但Normalize方法将引发ArgumentException。
IsNormalized(NormalizationForm)
此方法用于检查给定的字符串是否采用指定的Unicode规范化形式。如果给定的字符串采用指定的Unicode规范化形式,则此方法将返回true,否则返回false。
用法:
public bool IsNormalized (NormalizationForm nform);
在这里,nform是Unicode规范化形式。
返回值:此方法的返回类型为System.Boolean。如果此字符串采用nform参数指定的规范化形式,则此方法返回true。否则,返回false。
异常:如果当前实例包含无效的Unicode字符,则此方法将提供ArgumentException。
例:
// 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));
}
}
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
参考:https://docs.microsoft.com/en-us/dotnet/api/system.string.isnormalized?view=netframework-4.7.2
相关用法
- C# DateTimeOffset.Add()用法及代码示例
- C# String.Contains()用法及代码示例
- C# Math.Sin()用法及代码示例
- C# Math.Cos()用法及代码示例
- C# Dictionary.Add()用法及代码示例
- C# Math.Tan()用法及代码示例
- C# Math.Abs()方法用法及代码示例
- C# Math.Exp()用法及代码示例
- C# Math.Abs()函数用法及代码示例
注:本文由纯净天空筛选整理自ankita_saini大神的英文原创作品 C# | String.IsNormalized Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。