Char.IsControl Method

Definition

指示指定的 Unicode 字符是否属于控制字符类别。Indicates whether a specified Unicode character is categorized as a control character.

Overloads

IsControl(Char)

指示指定的 Unicode 字符是否属于控制字符类别。Indicates whether the specified Unicode character is categorized as a control character.

IsControl(String, Int32)

指示指定字符串中位于指定位置处的字符是否属于控制字符类别。Indicates whether the character at the specified position in a specified string is categorized as a control character.

Remarks

控制字符是格式设置和其他非打印字符,如 ACK、BELOW、CR、FF、LF 和 VT。Control characters are formatting and other non-printing characters, such as ACK, BEL, CR, FF, LF, and VT. Unicode 标准将从 \U0000 到 \U001F、\U007F 和从 \U0080 到 \U009F 的代码点分配给控制字符。The Unicode standard assigns code points from \U0000 to \U001F, \U007F, and from \U0080 to \U009F to control characters. 根据 Unicode 标准,这些值将被解释为控制字符,除非应用程序使用它们。According to the Unicode standard, these values are to be interpreted as control characters unless their use is otherwise defined by an application. 有效控制字符是 UnicodeCategory.Control 类别的成员。Valid control characters are members of the UnicodeCategory.Control category.

IsControl(Char)

指示指定的 Unicode 字符是否属于控制字符类别。Indicates whether the specified Unicode character is categorized as a control character.

public:
 static bool IsControl(char c);
public static bool IsControl (char c);
static member IsControl : char -> bool
Public Shared Function IsControl (c As Char) As Boolean

Parameters

c
Char

要计算的 Unicode 字符。The Unicode character to evaluate.

Returns

Boolean

如果 true 是控制字符,则为 c;否则为 falsetrue if c is a control character; otherwise, false.

Examples

下面的示例列出了每个控制字符的 Unicode 码位。The following example lists the Unicode code point of each of the control characters.

using namespace System;

void main()
{
   int charsWritten = 0;
      
   for (int ctr = 0x00; ctr <= 0xFFFF; ctr++)
   {
      wchar_t ch = ctr;
      if (Char::IsControl(ch))
      {
         Console::Write(L"\U{0:X4}    ", ctr);
         charsWritten++;
         if (charsWritten % 6 == 0)
            Console::WriteLine();
      }     
   }  
}
// The example displays the following output:
//       U0000    U0001    U0002    U0003    U0004    U0005
//       U0006    U0007    U0008    U0009    U000A    U000B
//       U000C    U000D    U000E    U000F    U0010    U0011
//       U0012    U0013    U0014    U0015    U0016    U0017
//       U0018    U0019    U001A    U001B    U001C    U001D
//       U001E    U001F    U007F    U0080    U0081    U0082
//       U0083    U0084    U0085    U0086    U0087    U0088
//       U0089    U008A    U008B    U008C    U008D    U008E
//       U008F    U0090    U0091    U0092    U0093    U0094
//       U0095    U0096    U0097    U0098    U0099    U009A
//       U009B    U009C    U009D    U009E    U009F
using System;

public class ControlChars
{
   public static void Main()
   {
      int charsWritten = 0;

      for (int ctr = 0x00; ctr <= 0xFFFF; ctr++)
      {
         char ch = Convert.ToChar(ctr);
         if (char.IsControl(ch))
         {
            Console.Write(@"\U{0:X4}    ", ctr);
            charsWritten++;
            if (charsWritten % 6 == 0)
               Console.WriteLine();
         }
      }
   }
}
// The example displays the following output to the console:
//       \U0000    \U0001    \U0002    \U0003    \U0004    \U0005
//       \U0006    \U0007    \U0008    \U0009    \U000A    \U000B
//       \U000C    \U000D    \U000E    \U000F    \U0010    \U0011
//       \U0012    \U0013    \U0014    \U0015    \U0016    \U0017
//       \U0018    \U0019    \U001A    \U001B    \U001C    \U001D
//       \U001E    \U001F    \U007F    \U0080    \U0081    \U0082
//       \U0083    \U0084    \U0085    \U0086    \U0087    \U0088
//       \U0089    \U008A    \U008B    \U008C    \U008D    \U008E
//       \U008F    \U0090    \U0091    \U0092    \U0093    \U0094
//       \U0095    \U0096    \U0097    \U0098    \U0099    \U009A
//       \U009B    \U009C    \U009D    \U009E    \U009F
Module ControlChars
   Public Sub Main()
      Dim charsWritten As Integer = 0

      For ctr As Integer = &H0 To &HFFFF
         Dim ch As Char = Convert.ToChar(ctr)
         
         If Char.IsControl(ch) Then
            Console.Write("\U{0:X4}    ", ctr)
            charsWritten += 1 
            If (charsWritten Mod 6) = 0 Then 
               Console.WriteLine()
            End If    
         End If
      Next
   End Sub
End Module
' The example displays the following output to the console:
'       \U0000    \U0001    \U0002    \U0003    \U0004    \U0005
'       \U0006    \U0007    \U0008    \U0009    \U000A    \U000B
'       \U000C    \U000D    \U000E    \U000F    \U0010    \U0011
'       \U0012    \U0013    \U0014    \U0015    \U0016    \U0017
'       \U0018    \U0019    \U001A    \U001B    \U001C    \U001D
'       \U001E    \U001F    \U007F    \U0080    \U0081    \U0082
'       \U0083    \U0084    \U0085    \U0086    \U0087    \U0088
'       \U0089    \U008A    \U008B    \U008C    \U008D    \U008E
'       \U008F    \U0090    \U0091    \U0092    \U0093    \U0094
'       \U0095    \U0096    \U0097    \U0098    \U0099    \U009A
'       \U009B    \U009C    \U009D    \U009E    \U009F

IsControl(String, Int32)

指示指定字符串中位于指定位置处的字符是否属于控制字符类别。Indicates whether the character at the specified position in a specified string is categorized as a control character.

public:
 static bool IsControl(System::String ^ s, int index);
public static bool IsControl (string s, int index);
static member IsControl : string * int -> bool
Public Shared Function IsControl (s As String, index As Integer) As Boolean

Parameters

s
String

一个字符串。A string.

index
Int32

s 中要计算的字符的位置。The position of the character to evaluate in s.

Returns

Boolean

如果 true 中位于 index 的字符是一个控制字符,则为 s;否则为 falsetrue if the character at position index in s is a control character; otherwise, false.

Exceptions

snulls is null.

index 小于零或大于 s 中最后一个位置。index is less than zero or greater than the last position in s.

Examples

下面的示例对字符串中的字符进行枚举,并确定是否有任何控件字符。The following example enumerates the characters in a string and determines whether any are control characters.

using namespace System;

void main()
{
      String ^ sentence = "This is a " + Environment::NewLine + "two-line sentence.";
      for (int ctr = 0; ctr < sentence->Length; ctr++)
      {
         if (Char::IsControl(sentence, ctr))
           Console::WriteLine("Control character \\U{0} found in position {1}.", 
                              Convert::ToInt32(sentence[ctr]).ToString("X4"), ctr);
      }
}
// The example displays the following output:
//       Control character \U000D found in position 10.
//       Control character \U000A found in position 11.
using System;

public class ControlChar
{
   public static void Main()
   {
      string sentence = "This is a " + Environment.NewLine + "two-line sentence.";
      for (int ctr = 0; ctr < sentence.Length; ctr++)
      {
         if (Char.IsControl(sentence, ctr))
           Console.WriteLine("Control character \\U{0} found in position {1}.",
             Convert.ToInt32(sentence[ctr]).ToString("X4"), ctr);
      }
   }
}
// The example displays the following output to the console:
//       Control character \U000D found in position 10.
//       Control character \U000A found in position 11.
Module ControlChar
   Public Sub Main()
      Dim sentence As String = "This is a " & vbCrLf & "two-line sentence."
      For ctr As Integer = 0 to sentence.Length - 1
         If Char.IsControl(sentence, ctr) Then
            Console.WriteLine("Control character \U{0} found in position {1}.", _
             Convert.ToInt32(sentence.Chars(ctr)).ToString("X4"), ctr)
          End If
       Next   
   End Sub
End Module
' The example displays the following output to the console:
'       Control character \U000D found in position 10.
'       Control character \U000A found in position 11.

Applies to