Char.IsControl メソッド

定義

指定した Unicode 文字が、制御文字かどうかを示します。

オーバーロード

IsControl(Char)

指定した Unicode 文字が、制御文字かどうかを示します。

IsControl(String, Int32)

指定した文字列の指定位置にある文字が制御文字かどうかを示します。

注釈

制御文字は、書式設定や、ACK、BEL、CR、FF、LF、VT などの印刷以外の文字です。 Unicode 規格では、\U0000 から \U001F、\U007F で、および \U0080 から \U009F にコードポイントが割り当てられます。 Unicode 規格によれば、これらの値は、使用がアプリケーションによって定義されていない限り、制御文字として解釈されます。 有効な制御文字は、カテゴリのメンバーです UnicodeCategory.Control

IsControl(Char)

指定した Unicode 文字が、制御文字かどうかを示します。

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

パラメーター

c
Char

評価する Unicode 文字。

戻り値

Boolean

c が制御文字である場合は true。それ以外の場合は false

次の例では、各制御文字の Unicode コードポイントを一覧表示します。

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
open System

let mutable charsWritten = 0

for i in 0x00..0xFFFF do
    let ch = Convert.ToChar i
    if Char.IsControl ch then
        printf $"\\U{i:X4}    "
        charsWritten <- charsWritten + 1
        if charsWritten % 6 = 0 then
            printfn ""

// 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)

指定した文字列の指定位置にある文字が制御文字かどうかを示します。

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

パラメーター

s
String

文字列。

index
Int32

s 内の評価する文字の位置。

戻り値

Boolean

trueindex の位置にある文字が制御文字の場合は s。それ以外の場合は false

例外

snullです。

index が 0 未満の値か、s の最後の位置より大きい値です。

次の例では、文字列内の文字を列挙し、が制御文字かどうかを判断します。

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.
open System

let sentence = "This is a " + Environment.NewLine + "two-line sentence."

for i = 0 to sentence.Length - 1 do
    if Char.IsControl(sentence, i) then
        printfn $"Control character \\U{Convert.ToInt32 sentence[i]:X4} found in position {i}."

// 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.

適用対象