在C#中,Char Struct用于将字符表示为UTF-16代码单元。此结构在系统名称空间下定义。基本上,它用于表示.NET Framework中的Unicode字符。 Unicode标准使用唯一的21位标量数字(称为代码点)来标识每个Unicode字符。它还定义了UTF-16编码形式,该形式指定了如何将代码点编码为一个或多个16位值的序列。每个16位值的范围从十六进制0x0000到0xFFFF ,并存储在Char结构中。 Char对象的值是其16位数字(常规)值。
Char结构提供了不同的方法,这些方法用于将当前Char对象的值转换为另一种类型的对象,比较Char对象以及检查Char对象的Unicode类别等。
栏位:
- MaxValue :这是一个常量字段,表示Char的最大可能值。
- MinValue :这是一个常量字段,表示Char的最小可能值。
方法
Method | Description |
---|---|
CompareTo() | Compares this instance to a specified object or value type, and indicates whether this instance precedes, follows, or appears in the same position in the sort order as the specified object or value type. |
ConvertFromUtf32(Int32) | Converts the specified Unicode code point into a UTF-16 encoded string. |
ConvertToUtf32() | Converts the value of a UTF-16 encoded surrogate pair into a Unicode code point. |
Equals() | Returns a value that indicates whether this instance is equal to a specified object or Char value. |
GetHashCode() | Returns the hash code for this instance. |
GetNumericValue() | Converts a specified numeric Unicode character to a double-precision floating-point number. |
GetTypeCode() | Returns the TypeCode for value type Char. |
GetUnicodeCategory() | Categorizes a Unicode character into a group identified by one of the UnicodeCategory values. |
IsControl() | Indicates whether a specified Unicode character is categorized as a control character. |
IsDigit() | Indicates whether a Unicode character is categorized as a decimal digit. |
IsHighSurrogate() | Indicates whether the specified Char object is a high surrogate. |
IsLetter() | Indicates whether a Unicode character is categorized as a Unicode letter. |
IsLetterOrDigit() | Indicates whether a Unicode character is categorized as a letter or a decimal digit. |
IsLower() | Indicates whether a Unicode character is categorized as a lowercase letter. |
IsLowSurrogate() | Indicates whether the specified Char object is a low surrogate. |
IsNumber() | Indicates whether a Unicode character is categorized as a number. |
IsPunctuation() | Indicates whether a Unicode character is categorized as a punctuation mark. |
IsSeparator() | Indicates whether a Unicode character is categorized as a separator character. |
IsSurrogate() | Indicates whether a character has a surrogate code unit. |
IsSurrogatePair() | Indicates whether two specified Char objects form a surrogate pair. |
IsSymbol() | Indicates whether a Unicode character is categorized as a symbol character. |
IsUpper() | Indicates whether a Unicode character is categorized as an uppercase letter. |
IsWhiteSpace() | Indicates whether a Unicode character is categorized as white space. |
Parse(String) | Converts the value of the specified string to its equivalent Unicode character. |
ToLower() | Converts the value of a Unicode character to its lowercase equivalent. |
ToLowerInvariant(Char) | Converts the value of a Unicode character to its lowercase equivalent using the casing rules of the invariant culture. |
ToString() | Converts the value of this instance to its equivalent string representation. |
ToUpper() | Converts the value of a Unicode character to its uppercase equivalent. |
ToUpperInvariant(Char) | Converts the value of a Unicode character to its uppercase equivalent using the casing rules of the invariant culture. |
TryParse(String, Char) | Converts the value of the specified string to its equivalent Unicode character. A return code indicates whether the conversion succeeded or failed. |
范例1:
// C# program to demonstrate the
// Char.CompareTo(Char) Method
using System;
class GFG {
// Main Method
public static void Main()
{
char c1 = 'G';
char c2 = 'f';
char c3 = 'M';
// using Char.CompareTo(Char) Method
// returns 0 as this instance has
// same position in the sort as in c1
Console.WriteLine('G'.CompareTo(c1));
// using Char.CompareTo(Char) Method
// returns -31 as this instance
// precedes c2
Console.WriteLine('G'.CompareTo(c2));
// using Char.CompareTo(Char) Method
// returns -6 as this instance follows
// c3
Console.WriteLine('G'.CompareTo(c3));
}
}
输出:
0
-31
-6
范例2:
// C# program to illustrate the
// Char.IsWhiteSpace(Char) Method
using System;
class GFG {
// Main Method
static public void Main()
{
// Declaration of data type
bool output;
// checking if space
// is a whitespace
char c1 = ' ';
output = Char.IsWhiteSpace(c1);
Console.WriteLine(output);
// checking if carriage return
// is a whitespace
char c2 = '\n';
output = Char.IsWhiteSpace(c2);
Console.WriteLine(output);
// checking if hyphen
// is a whitespace
char c3 = '-';
output = Char.IsWhiteSpace(c3);
Console.WriteLine(output);
}
}
输出:
True
True
False
参考:
- https://docs.microsoft.com/zh-cn/dotnet/api/system.char?view=netframework-4.7.2#definition