Char.IsControl Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Indicates whether a specified Unicode character is categorized as a control character.
Overloads
IsControl(Char) |
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
Control characters are formatting and other non-printing characters, such as ACK, BEL, CR, FF, LF, and VT. The Unicode standard assigns code points from \U0000 to \U001F, \U007F, and from \U0080 to \U009F to control characters. According to the Unicode standard, these values are to be interpreted as control characters unless their use is otherwise defined by an application. Valid control characters are members of the UnicodeCategory.Control category.
IsControl(Char)
- Source:
- Char.cs
- Source:
- Char.cs
- Source:
- Char.cs
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
The Unicode character to evaluate.
Returns
true
if c
is a control character; otherwise, false
.
Examples
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
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
Applies to
IsControl(String, Int32)
- Source:
- Char.cs
- Source:
- Char.cs
- Source:
- Char.cs
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
The position of the character to evaluate in s
.
Returns
true
if the character at position index
in s
is a control character; otherwise, false
.
Exceptions
s
is null
.
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.
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.