Char.IsControl Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Показывает, относится ли указанный символ Юникода к категории управляющих символов.
Перегрузки
IsControl(Char) |
Показывает, относится ли указанный символ Юникода к категории управляющих символов. |
IsControl(String, Int32) |
Показывает, относится ли символ в указанной позиции в указанной строке к категории управляющих символов. |
Комментарии
Управляющие символы — это форматирование и другие непечатаемые символы, такие как ACK, веч, CR, FF, LF и VT. Стандарт Юникода назначает кодовые точки из \U0000 для \U001F, \U007F и from \U0080 to \U009F для управления символами. В соответствии со стандартом Юникода эти значения должны интерпретироваться как управляющие символы, если их использование не определено приложением. Допустимые управляющие символы являются элементами UnicodeCategory.Control категории.
IsControl(Char)
Показывает, относится ли указанный символ Юникода к категории управляющих символов.
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
Знак Юникода, который необходимо вычислить.
Возвращаемое значение
Значение true
, если c
является управляющим символом; в противном случае — false
.
Примеры
В следующем примере перечисляются кодовые точки Юникода для каждого управляющего символа.
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
.
Возвращаемое значение
Значение true
, если символ позиции index
в s
является управляющим; в противном случае — значение false
.
Исключения
s
имеет значение null
.
Параметр index
имеет значение меньше нуля или больше последней позиции в 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.