Console Console Console Console Class

Определение

Предоставляет стандартные потоки для консольных приложений: входной, выходной и поток сообщений об ошибках.Represents the standard input, output, and error streams for console applications. Этот класс не наследуется.This class cannot be inherited.

public ref class Console abstract sealed
public static class Console
type Console = class
Public Class Console
Наследование
ConsoleConsoleConsoleConsole

Примеры

Ниже приведен пример, как считать данные из и записывать данные в стандартный входным и выходным потоками.The following example demonstrates how to read data from, and write data to, the standard input and output streams. Обратите внимание, что эти потоки можно перенаправить с помощью SetIn и SetOut методы.Note that these streams can be redirected by using the SetIn and SetOut methods.

using namespace System;

int main()
{
   Console::Write( L"Hello " );
   Console::WriteLine( L"World!" );
   Console::Write( L"Enter your name: " );
   String^ name = Console::ReadLine();
   Console::Write( L"Good day, " );
   Console::Write( name );
   Console::WriteLine( L"!" );
}
// The example displays output similar to the following:
//       Hello World!
//       Enter your name: James
//       Good day, James!
using System;

public class Example {
    public static void Main() 
    {
        Console.Write("Hello ");
        Console.WriteLine("World!");
        Console.Write("Enter your name: ");
        String name = Console.ReadLine();
        Console.Write("Good day, ");
        Console.Write(name);
        Console.WriteLine("!");
    }
}
// The example displays output similar to the following:
//       Hello World!
//       Enter your name: James
//       Good day, James!
Public Class Example
    Public Shared Sub Main()
        Console.Write("Hello ")
        Console.WriteLine("World!")
        Console.Write("Enter your name: ")
        Dim name As String = Console.ReadLine()
        Console.Write("Good day, ")
        Console.Write(name)
        Console.WriteLine("!")
    End Sub
End Class 
' The example displays output similar to the following:
'        Hello World!
'        Enter your name: James
'        Good day, James!

Комментарии

Консоль является окном операционной системы, где пользователи работают с операционной системой или с помощью текстовых консольное приложение, введя ввода текста с клавиатуры и при чтении вывода текста в окне терминала на компьютере.The console is an operating system window where users interact with the operating system or with a text-based console application by entering text input through the computer keyboard, and by reading text output from the computer terminal. Например в операционной системе Windows, консоль называется окно командной строки и принимает команды MS-DOS.For example, in the Windows operating system, the console is called the Command Prompt window and accepts MS-DOS commands. Console Класс обеспечивает базовую поддержку для приложений, которые считывают символы из и вывести их на консоль.The Console class provides basic support for applications that read characters from, and write characters to, the console.

Сведения о разработке с помощью Console класса, в следующих разделах:For information about developing with the Console class, see the following sections:

Потоки консольного ввода-выводаConsole I/O Streams

При запуске консольного приложения, операционная система автоматически связывает три потока ввода-вывода с помощью консоли: стандартный входной поток, в стандартный выходной поток и в стандартный поток вывода ошибок.When a console application starts, the operating system automatically associates three I/O streams with the console: standard input stream, standard output stream, and standard error output stream. Ваше приложение может считывать входные данные пользователя из стандартного входного потока; запись обычные данные в стандартный выходной поток; и записи данных об ошибке в стандартный выходной поток ошибок.Your application can read user input from the standard input stream; write normal data to the standard output stream; and write error data to the standard error output stream. Эти потоки представлены в приложении в виде значения Console.In, Console.Out, и Console.Error свойства.These streams are presented to your application as the values of the Console.In, Console.Out, and Console.Error properties.

По умолчанию значение In свойство System.IO.TextReader объект, представляющий клавиатуры и значения Out и Error свойства являются System.IO.TextWriter объекты, представляющие окно консоли.By default, the value of the In property is a System.IO.TextReader object that represents the keyboard, and the values of the Out and Error properties are System.IO.TextWriter objects that represent a console window. Тем не менее эти свойства можно задать в потоки, которые не представляют собой окно консоли или клавиатуре; Например можно задать эти свойства в потоки, которые представляют файлы.However, you can set these properties to streams that do not represent the console window or keyboard; for example, you can set these properties to streams that represent files. Чтобы перенаправить стандартного ввода, стандартный поток вывода или стандартный поток ошибок, вызовите Console.SetIn, Console.SetOut, или Console.SetError метода, соответственно.To redirect the standard input, standard output, or standard error stream, call the Console.SetIn, Console.SetOut, or Console.SetError method, respectively. Операций ввода-вывода, использующих эти потоки, синхронизируются, что означает, что может считывать из нескольких потоков, или записи данных в потоки.I/O operations that use these streams are synchronized, which means that multiple threads can read from, or write to, the streams. Это означает, что методы, которые обычно асинхронные, такие как TextReader.ReadLineAsync, выполняются синхронно, если объект представляет поток консоли.This means that methods that are ordinarily asynchronous, such as TextReader.ReadLineAsync, execute synchronously if the object represents a console stream.

Примечание

Не используйте Console класс для отображения выходных данных в автоматическом режиме приложениях, например серверных приложений.Do not use the Console class to display output in unattended applications, such as server applications. Вызовы методов, например Console.Write и Console.WriteLine не оказывают влияния в приложениях графического пользовательского интерфейса.Calls to methods such as Console.Write and Console.WriteLine have no effect in GUI applications.

Console члены класса, которые работают нормально, когда основной поток направляется на консоль может создания исключения, если поток перенаправлен, например, в файл.Console class members that work normally when the underlying stream is directed to a console might throw an exception if the stream is redirected, for example, to a file. В приложениях для перехвата System.IO.IOException исключения, если перенаправление стандартного потока.Program your application to catch System.IO.IOException exceptions if you redirect a standard stream. Можно также использовать IsOutputRedirected, IsInputRedirected, и IsErrorRedirected свойства, чтобы определить, перенаправляется ли стандартный поток перед выполнением операции, которая создает System.IO.IOException исключение.You can also use the IsOutputRedirected, IsInputRedirected, and IsErrorRedirected properties to determine whether a standard stream is redirected before performing an operation that throws an System.IO.IOException exception.

Иногда полезно явным образом вызывать члены объектов потока, представленного In, Out, и Error свойства.It is sometimes useful to explicitly call the members of the stream objects represented by the In, Out, and Error properties. Например, по умолчанию Console.ReadLine метод считывает входные данные из стандартного входного потока.For example, by default, the Console.ReadLine method reads input from the standard input stream. Аналогичным образом Console.WriteLine метод записывает данные в стандартный выходной поток данных следуют строки по умолчанию завершения, который является символ возврата каретки и перевода строки («\r\n»).Similarly, the Console.WriteLine method writes data to the standard output stream, and the data is followed by the default line termination string, which is a carriage return and line feed ("\r\n"). Тем не менее Console класс не предоставляет соответствующий метод для записи данных в стандартный выходной поток ошибок или свойства для изменения признака конца строки для данных, записанных в поток.However, the Console class does not provide a corresponding method to write data to the standard error output stream, or a property to change the line termination string for data written to that stream.

Эту проблему можно решить, задав TextWriter.NewLine свойство Out или Error свойства другого признака конца строки.You can solve this problem by setting the TextWriter.NewLine property of the Out or Error property to another line termination string. Например следующая инструкция C# устанавливает признака конца строки для стандартный поток вывода ошибок для двух символ возврата каретки и перевода последовательностей строки:For example, the following C# statement sets the line termination string for the standard error output stream to two carriage return and line feed sequences:

Console.Error.NewLine = "\r\n\r\n";

Затем можно явным образом вызвать WriteLine метод объекта error выходной поток, как в следующей инструкции C#:You can then explicitly call the WriteLine method of the error output stream object, as in the following C# statement:

Console.Error.WriteLine();

Буфер экрана и окно консолиScreen Buffer and Console Window

Тесно связанные признаки консоли не буфера экрана и окно консоли.Two closely related features of the console are the screen buffer and the console window. Текст фактически чтения или записи в потоки, принадлежащие консоли, но могут быть чтения или записи в область, владельцем консоли, который называется буфера экрана.Text is actually read from or written to streams owned by the console, but appear to be read from or written to an area owned by the console called the screen buffer. Буфера экрана является атрибутом консоли и организованы в виде прямоугольной сетки строк и столбцов, где каждый пересечения сетки или знакоместа, могут содержать символ.The screen buffer is an attribute of the console, and is organized as a rectangular grid of rows and columns where each grid intersection, or character cell, can contain a character. Каждый символ имеет собственный цвет переднего плана, и каждая ячейка символ имеет собственный цвет фона.Each character has its own foreground color, and each character cell has its own background color.

Буфера экрана просматривается через прямоугольную область, называемую в окно консоли.The screen buffer is viewed through a rectangular region called the console window. В окне консоли является еще одним атрибутом консоли; Это не сама консоль, которая является окном операционной системы.The console window is another attribute of the console; it is not the console itself, which is an operating system window. В окне консоли организованы в строки и столбцы, меньше или равен размеру буфера экрана и могут быть перемещены в виде буфера экрана.The console window is arranged in rows and columns, is less than or equal to the size of the screen buffer, and can be moved to view different areas of the underlying screen buffer. Если буфера экрана больше, чем в окне консоли, консоль автоматически отображаются полосы прокрутки, поэтому может быть перемещен в окне консоли через буферной области экрана.If the screen buffer is larger than the console window, the console automatically displays scroll bars so the console window can be repositioned over the screen buffer area.

Курсор указывает положение буфера экрана, где в настоящее время чтения или записи текста.A cursor indicates the screen buffer position where text is currently read or written. Курсор можно скрывать или делать видимыми, и можно изменить высоту.The cursor can be hidden or made visible, and its height can be changed. Если курсор видим, положение окна консоли перемещается автоматически, чтобы он всегда в представлении.If the cursor is visible, the console window position is moved automatically so the cursor is always in view.

Источником для координаты ячейки символа в буфере экрана является верхний левый угол и положение курсора и окна консоли измеряется относительно начала координат.The origin for character cell coordinates in the screen buffer is the upper left corner, and the positions of the cursor and the console window are measured relative to that origin. Используйте индексы (с нуля), чтобы указать позиций; то есть необходимо укажите самая верхняя строка как строки и крайний слева столбец как столбец 0.Use zero-based indexes to specify positions; that is, specify the topmost row as row 0, and the leftmost column as column 0. Максимальное значение для строк и столбцов индексов — Int16.MaxValue.The maximum value for the row and column indexes is Int16.MaxValue.

Поддержка Юникода для консолиUnicode Support for the Console

В общем случае консоль считывает входные данные и записывает выходные данные с помощью текущей кодовой странице консоли, который определяет национальную настройку системы по умолчанию.In general, the console reads input and writes output by using the current console code page, which the system locale defines by default. Кодовая страница может обрабатывать только подмножество доступных символов Юникода, поэтому при попытке отображения символов, которые не сопоставлены с использованием конкретной кодовой страницы, консоль не сможет отобразить все символы или отражать их.A code page can handle only a subset of available Unicode characters, so if you try to display characters that are not mapped by a particular code page, the console won't be able to display all characters or represent them accurately. Приведенный ниже пример иллюстрирует данную проблему.The following example illustrates this problem. Предпринимается попытка отобразить символы кириллицы алфавита от U + 0410 U + 044F на консоль.It tries to display the characters of the Cyrillic alphabet from U+0410 to U+044F to the console. При выполнении примера в системе, которая использует консоль кодовую страницу 437, каждый символ заменяется знак вопроса (?), так как символы в кодовой странице 437 не сопоставляются символы кириллицы.If you run the example on a system that uses console code page 437, each character is replaced by a question mark (?), because Cyrillic characters do not map to the characters in code page 437.

using System;

public class Example
{
   public static void Main()
   {
      // Create a Char array for the modern Cyrillic alphabet, 
      // from U+0410 to U+044F.
      int nChars = 0x044F - 0x0410 + 1;
      char[] chars = new char[nChars];
      ushort codePoint = 0x0410;
      for (int ctr = 0; ctr < chars.Length; ctr++) {
        chars[ctr] = Convert.ToChar(codePoint);
        codePoint++;
      }   
         
      Console.WriteLine("Current code page: {0}\n", 
                        Console.OutputEncoding.CodePage);
      // Display the characters.
      foreach (var ch in chars) {
         Console.Write("{0}  ", ch);
         if (Console.CursorLeft >= 70) 
            Console.WriteLine();
      }
   }
}
// The example displays the following output:
//    Current code page: 437
//    
//    ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?
//    ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?
//    ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?
Module Example
   Public Sub Main()
      ' Create a Char array for the modern Cyrillic alphabet, 
      ' from U+0410 to U+044F.
      Dim nChars As Integer = &h44F - &h0410
      Dim chars(nChars) As Char
      Dim codePoint As UInt16 = &h0410
      For ctr As Integer = 0 To chars.Length - 1
        chars(ctr) = ChrW(codePoint)
        codePoint += CType(1, UShort)
      Next   
         
      Console.WriteLine("Current code page: {0}", 
                        Console.OutputEncoding.CodePage)
      Console.WriteLine()
      ' Display the characters.
      For Each ch In chars
         Console.Write("{0}  ", ch)
         If Console.CursorLeft >= 70 Then Console.WriteLine()
      Next
   End Sub
End Module
' The example displays the following output:
'       Current code page: 437
'       
'       ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?
'       ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?
'       ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?  ?

В дополнение к поддержке кодовых страниц, Console класс поддерживает кодирование с помощью UTF-8 UTF8Encoding класса.In addition to supporting code pages, the Console class supports UTF-8 encoding with the UTF8Encoding class. Начиная с .NET Framework 4.5, Console класс также поддерживает кодирование с помощью UTF-16 UnicodeEncoding класса.Beginning with the .NET Framework 4.5, the Console class also supports UTF-16 encoding with the UnicodeEncoding class. Для отображения символов Юникода в консоль.To display Unicode characters to the console. можно задать OutputEncoding значение UTF8Encoding или UnicodeEncoding.you set the OutputEncoding property to either UTF8Encoding or UnicodeEncoding.

Поддержка символов Юникода требует кодировщик для распознавания конкретный символ Юникода, а также шрифт, который имеет глифов, необходимых для отображения этого символа.Support for Unicode characters requires the encoder to recognize a particular Unicode character, and also requires a font that has the glyphs needed to render that character. Чтобы успешно отображать символы Юникода в консоль, шрифта консоли должно быть присвоено не растровых или шрифта TrueType, например Consolas и Lucida Console.To successfully display Unicode characters to the console, the console font must be set to a non-raster or TrueType font such as Consolas or Lucida Console. В следующем примере показано, как можно программно изменить шрифт из растровый шрифт для и Lucida Console.The following example shows how you can programmatically change the font from a raster font to Lucida Console.

using System;
using System.Runtime.InteropServices;

public class Example
{
   [DllImport("kernel32.dll", SetLastError = true)]
   static extern IntPtr GetStdHandle(int nStdHandle);

   [DllImport("kernel32.dll", CharSet = CharSet.Unicode, SetLastError = true)]
   static extern bool GetCurrentConsoleFontEx(
          IntPtr consoleOutput, 
          bool maximumWindow,
          ref CONSOLE_FONT_INFO_EX lpConsoleCurrentFontEx);
          
   [DllImport("kernel32.dll", SetLastError = true)]
   static extern bool SetCurrentConsoleFontEx(
          IntPtr consoleOutput, 
          bool maximumWindow,
          CONSOLE_FONT_INFO_EX consoleCurrentFontEx);
   
   private const int STD_OUTPUT_HANDLE = -11;
   private const int TMPF_TRUETYPE = 4;
   private const int LF_FACESIZE = 32;
   private static IntPtr INVALID_HANDLE_VALUE = new IntPtr(-1);
   
   public static unsafe void Main()
   {
      string fontName = "Lucida Console";
      IntPtr hnd = GetStdHandle(STD_OUTPUT_HANDLE);
      if (hnd != INVALID_HANDLE_VALUE) {
         CONSOLE_FONT_INFO_EX info = new CONSOLE_FONT_INFO_EX();
         info.cbSize = (uint) Marshal.SizeOf(info);
         bool tt = false;
         // First determine whether there's already a TrueType font.
         if (GetCurrentConsoleFontEx(hnd, false, ref info)) {
            tt = (info.FontFamily & TMPF_TRUETYPE) == TMPF_TRUETYPE;
            if (tt) {
               Console.WriteLine("The console already is using a TrueType font.");
               return;
            }
            // Set console font to Lucida Console.
            CONSOLE_FONT_INFO_EX newInfo = new CONSOLE_FONT_INFO_EX();
            newInfo.cbSize = (uint) Marshal.SizeOf(newInfo);          
            newInfo.FontFamily = TMPF_TRUETYPE;
            IntPtr ptr = new IntPtr(newInfo.FaceName);
            Marshal.Copy(fontName.ToCharArray(), 0, ptr, fontName.Length);
            // Get some settings from current font.
            newInfo.dwFontSize = new COORD(info.dwFontSize.X, info.dwFontSize.Y);
            newInfo.FontWeight = info.FontWeight;
            SetCurrentConsoleFontEx(hnd, false, newInfo);
         }
      }    
    }
 
   [StructLayout(LayoutKind.Sequential)]
   internal struct COORD
   {
      internal short X;
      internal short Y;
      
      internal COORD(short x, short y)
      {
         X = x;
         Y = y;
      }
   }
 
   [StructLayout(LayoutKind.Sequential)]
   internal unsafe struct CONSOLE_FONT_INFO_EX 
   {
      internal uint cbSize;
      internal uint nFont;
      internal COORD dwFontSize;
      internal int FontFamily;
      internal int FontWeight;
      internal fixed char FaceName[LF_FACESIZE];
   } 
}
Imports System.Runtime.InteropServices

Public Module Example
   ' <DllImport("kernel32.dll", SetLastError = true)>
   Private Declare Function GetStdHandle Lib "Kernel32" (
                   nStdHandle As Integer) As IntPtr

   ' [DllImport("kernel32.dll", CharSet = CharSet.Unicode, SetLastError = true)]
   Private Declare Function GetCurrentConsoleFontEx Lib "Kernel32" ( 
                   consoleOutput As IntPtr, 
                   maximumWindow As Boolean,
                   ByRef lpConsoleCurrentFontEx As CONSOLE_FONT_INFO_EX) As Boolean
          
   ' [DllImport("kernel32.dll", SetLastError = true)]
   Private Declare Function SetCurrentConsoleFontEx Lib "Kernel32"(
                   consoleOutput As IntPtr, 
                   maximumWindow As Boolean,
                   consoleCurrentFontEx As CONSOLE_FONT_INFO_EX) As Boolean
   
   Private Const STD_OUTPUT_HANDLE As Integer = -11
   Private Const TMPF_TRUETYPE As Integer = 4
   Private Const LF_FACESIZE As Integer= 32
   Private INVALID_HANDLE_VALUE As IntPtr = New IntPtr(-1)
   
   Public Sub Main()
      Dim fontName As String = "Lucida Console"
      Dim hnd As IntPtr = GetStdHandle(STD_OUTPUT_HANDLE)
      If hnd <> INVALID_HANDLE_VALUE Then
         Dim info AS CONSOLE_FONT_INFO_EX = New CONSOLE_FONT_INFO_EX()
         info.cbSize = CUInt(Marshal.SizeOf(info))
         Dim tt As Boolean = False
         ' First determine whether there's already a TrueType font.
         If GetCurrentConsoleFontEx(hnd, False, info) Then
            tt = (info.FontFamily And TMPF_TRUETYPE) = TMPF_TRUETYPE
            If tt Then
               Console.WriteLine("The console already is using a TrueType font.")
               Return
            End If
            ' Set console font to Lucida Console.
            Dim newInfo As CONSOLE_FONT_INFO_EX = New CONSOLE_FONT_INFO_EX()
            newInfo.cbSize = CUInt(Marshal.SizeOf(newInfo))          
            newInfo.FontFamily = TMPF_TRUETYPE
            newInfo.FaceName = fontName
            ' Get some settings from current font.
            newInfo.dwFontSize = New COORD(info.dwFontSize.X, info.dwFontSize.Y)
            newInfo.FontWeight = info.FontWeight
            SetCurrentConsoleFontEx(hnd, False, newInfo)
         End If
      End If    
   End Sub
 
   <StructLayout(LayoutKind.Sequential)> Friend Structure COORD
      Friend X As Short
      Friend Y As Short
      
      Friend Sub New(x As Short, y As Short)
         Me.X = x
         Me.Y = y
      End Sub
   End Structure
 
   <StructLayout(LayoutKind.Sequential, CharSet := CharSet.Unicode)> Friend Structure CONSOLE_FONT_INFO_EX 
      Friend cbSize As UInteger
      Friend nFont As UInteger
      Friend dwFontSize As COORD
      Friend FontFamily As Integer
      Friend FontWeight As Integer
      <MarshalAs(UnmanagedType.ByValTStr, SizeConst := 32)> Friend FaceName As String
   End Structure 
End Module

Тем не менее шрифты TrueType можно отобразить только подмножества глифов.However, TrueType fonts can display only a subset of glyphs. Например шрифт Lucida Console отображает только 643 из примерно 64 000 доступны символы от U + 0021 до U + FB02.For example, the Lucida Console font displays only 643 of the approximately 64,000 available characters from U+0021 to U+FB02. Чтобы увидеть, что символы определенного шрифта поддерживает, откройте шрифты апплета панели управления выберите поиска символа параметр и выберите шрифт, установленный символ которого вы хотите изучить в Шрифт список символов окна.To see which characters a particular font supports, open the Fonts applet in Control Panel, choose the Find a character option, and choose the font whose character set you'd like to examine in the Font list of the Character Map window.

Windows использует связь шрифтов, чтобы отобразить глифы, которые не доступны в определенном шрифте.Windows uses font linking to display glyphs that are not available in a particular font. Сведения о связь шрифтов для отображения дополнительные наборы символов, см. в разделе Глобализация шаг за шагом: Шрифты.For information about font linking to display additional character sets, see Globalization Step-by-Step: Fonts. В подразделе реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink определяются связанных шрифтов.Linked fonts are defined in the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink subkey of the registry. Каждой записи, связанные с этого подраздела соответствует имя базового шрифта, и его значение является массивом строк, определяет файлы шрифтов и шрифтов, которые связаны с базового шрифта.Each entry associated with this subkey corresponds to the name of a base font, and its value is a string array that defines the font files and the fonts that are linked to the base font. Каждый элемент массива определяет связанный шрифта и принимает форму шрифта файла,имя шрифта.Each member of the array defines a linked font and takes the form font-file-name,font-name. В следующем примере показано, как программным способом можно определить связанные с именем найден в файле simsun.ttc, отображающий упрощенное Хан символов шрифта SimSun шрифта.The following example illustrates how you can programmatically define a linked font named SimSun found in a font file named simsun.ttc that displays Simplified Han characters.

using Microsoft.Win32;
using System;

public class Example
{
   public static void Main()
   {
      string valueName = "Lucida Console";
      string newFont = "simsun.ttc,SimSun";
      string[] fonts = null;
      RegistryValueKind kind = 0; 
      bool toAdd;
      
      RegistryKey key = Registry.LocalMachine.OpenSubKey( 
                 @"Software\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink", 
                 true);
      if (key == null) {
         Console.WriteLine("Font linking is not enabled.");
      }
      else {
         // Determine if the font is a base font.
         string[] names = key.GetValueNames();
         if (Array.Exists(names, s => s.Equals(valueName, 
                                      StringComparison.OrdinalIgnoreCase))) {
            // Get the value's type.
            kind = key.GetValueKind(valueName);

            // Type should be RegistryValueKind.MultiString, but we can't be sure.
            switch (kind) {
               case RegistryValueKind.String:
                  fonts = new string[] { (string) key.GetValue(valueName) };
                  break;   
               case RegistryValueKind.MultiString:
                  fonts = (string[]) key.GetValue(valueName);
                  break;
               case RegistryValueKind.None:
                  // Do nothing.
                  fonts = new string[] { };
                  break;
            } 
            // Determine whether SimSun is a linked font.
            if (Array.FindIndex(fonts, s =>s.IndexOf("SimSun", 
                                       StringComparison.OrdinalIgnoreCase) >=0) >= 0) {
               Console.WriteLine("Font is already linked.");
               toAdd = false;
            }
            else {
               // Font is not a linked font.
               toAdd = true;
            }
         }
         else {
            // Font is not a base font.
            toAdd = true;
            fonts = new string[] { };
         }

         if (toAdd) {  
            Array.Resize(ref fonts, fonts.Length + 1);
            fonts[fonts.GetUpperBound(0)] = newFont;
            // Change REG_SZ to REG_MULTI_SZ.
            if (kind == RegistryValueKind.String)
               key.DeleteValue(valueName, false);

            key.SetValue(valueName, fonts, RegistryValueKind.MultiString);
            Console.WriteLine("SimSun added to the list of linked fonts.");
         }                     
      }
      
      if (key != null) key.Close();
   }
}
Imports Microsoft.Win32

Module Example
   Public Sub Main()
      Dim valueName As String = "Lucida Console"
      Dim newFont As String = "simsun.ttc,SimSun"
      Dim fonts() As String = Nothing
      Dim kind As RegistryValueKind 
      Dim toAdd As Boolean
      
      Dim key As RegistryKey = Registry.LocalMachine.OpenSubKey( 
                 "Software\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink", 
                 True)
      If key Is Nothing Then
         Console.WriteLine("Font linking is not enabled.")
      Else
         ' Determine if the font is a base font.
         Dim names() As String = key.GetValueNames()
         If Array.Exists(names, Function(s) s.Equals(valueName, 
                                                     StringComparison.OrdinalIgnoreCase))
            ' Get the value's type.
            kind = key.GetValueKind(valueName)

            ' Type should be RegistryValueKind.MultiString, but we can't be sure.
            Select Case kind
               Case RegistryValueKind.String
                  fonts = { CStr(key.GetValue(valueName)) }   
               Case RegistryValueKind.MultiString
                  fonts = CType(key.GetValue(valueName), String())
               Case RegistryValueKind.None
                  ' Do nothing.
                  fonts = { }
            End Select 
            ' Determine whether SimSun is a linked font.
            If Array.FindIndex(fonts, Function(s) s.IndexOf("SimSun", 
                                      StringComparison.OrdinalIgnoreCase) >=0) >= 0 Then
               Console.WriteLine("Font is already linked.")
               toAdd = False
            Else
               ' Font is not a linked font.
               toAdd = True
            End If
         Else
            ' Font is not a base font.
            toAdd = True
            fonts = { }
         End If

         If toAdd Then  
            Array.Resize(fonts, fonts.Length + 1)
            fonts(fonts.GetUpperBound(0)) = newFont
            ' Change REG_SZ to REG_MULTI_SZ.
            If kind = RegistryValueKind.String Then
               key.DeleteValue(valueName, False)
            End If
            key.SetValue(valueName, fonts, RegistryValueKind.MultiString)
            Console.WriteLine("SimSun added to the list of linked fonts.")
         End If                     
      End If
      
      If key IsNot Nothing Then key.Close()
   End Sub
End Module

Поддержка Юникода для консоли имеет следующие ограничения:Unicode support for the console has the following limitations:

  • Кодировка UTF-32, не поддерживается.UTF-32 encoding is not supported. Единственные поддерживаемые кодировки: UTF-8 и UTF-16, которые представлены Юникода UTF8Encoding и UnicodeEncoding классы, соответственно.The only supported Unicode encodings are UTF-8 and UTF-16, which are represented by the UTF8Encoding and UnicodeEncoding classes, respectively.

  • Двунаправленный вывод не поддерживается.Bidirectional output is not supported.

  • Отображение символов за пределами базовой многоязыковой плоскости (т. е суррогатных пар) не поддерживается, даже если они определены в файле связанных шрифтов.Display of characters outside the Basic Multilingual Plane (that is, of surrogate pairs) is not supported, even if they are defined in a linked font file.

  • Отображение символов в сложных сценариях не поддерживается.Display of characters in complex scripts is not supported.

  • Объединение последовательностей символов (то есть символы, состоящие из базового знака и один или несколько несамостоятельных символов), отображаются как отдельные символы.Combining character sequences (that is, characters that consist of a base character and one or more combining characters) are displayed as separate characters. Чтобы обойти это ограничение, вы можете нормализовать строку для отображения, вызвав String.Normalize метод перед отправкой вывод на консоль.To work around this limitation, you can normalize the string to be displayed by calling the String.Normalize method before sending output to the console. В следующем примере строка, содержащая символ объединения последовательности 0061 U + U + 0308 выводится на консоль, как два символа, прежде чем нормализуется выходной строки, а также как один символ после String.Normalize вызывается метод.In the following example, a string that contains the combining character sequence U+0061 U+0308 is displayed to the console as two characters before the output string is normalized, and as a single character after the String.Normalize method is called.

    using System;
    using System.IO;
    
    public class Example
    {
       public static void Main()
       {
          char[] chars = { '\u0061', '\u0308' };
       
          string combining = new String(chars);
          Console.WriteLine(combining);
          
          combining = combining.Normalize();
          Console.WriteLine(combining);
       }
    }
    // The example displays the following output:
    //       a"
    //       ä
    
    Module Example
       Public Sub Main()
          Dim chars() As Char = { ChrW(&h0061), ChrW(&h0308) }
       
          Dim combining As String = New String(chars)
          Console.WriteLine(combining)
          
          combining = combining.Normalize()
          Console.WriteLine(combining)
       End Sub
    End Module
    ' The example displays the following output:
    '       a"
    '       ä
    

    Обратите внимание, что нормализации приемлемым решением является только в том случае, если последовательность символов в стандарте для составными форму, которая соответствует конкретному combining содержит символ Юникода.Note that normalization is a viable solution only if the Unicode standard for the character includes a pre-composed form that corresponds to a particular combining character sequence.

  • Если шрифт предоставляет глиф для кодовую точку в области частного использования, этот глиф будет отображаться.If a font provides a glyph for a code point in the private use area, that glyph will be displayed. Тем не менее так как символы в области частного использования зависят от приложения, это может оказаться ожидаемый глифа.However, because characters in the private use area are application-specific, this may not be the expected glyph.

В следующем примере отображается диапазона символов Юникода в консоль.The following example displays a range of Unicode characters to the console. Пример принимает три параметра командной строки: начало диапазона для отображения, конец диапазона для отображения и следует ли использовать текущая кодировка консоли (false) или кодировку UTF-16 (true).The example accepts three command-line parameters: the start of the range to display, the end of the range to display, and whether to use the current console encoding (false) or UTF-16 encoding (true). Предполагается, что консоль использует шрифт TrueType.It assumes that the console is using a TrueType font.

using System;
using System.IO;
using System.Globalization;
using System.Text;

public static class DisplayChars
{
   private static void Main(string[] args)
   {
      uint rangeStart = 0;
      uint rangeEnd = 0;
      bool setOutputEncodingToUnicode = true;
      // Get the current encoding so we can restore it.
      Encoding originalOutputEncoding = Console.OutputEncoding;

   	try
   	{
         switch(args.Length)
         {
            case 2:
               rangeStart = uint.Parse(args[0], NumberStyles.HexNumber);
               rangeEnd = uint.Parse(args[1], NumberStyles.HexNumber);
               setOutputEncodingToUnicode = true;
               break;
            case 3:
               if (! uint.TryParse(args[0], NumberStyles.HexNumber, null, out rangeStart))
                  throw new ArgumentException(String.Format("{0} is not a valid hexadecimal number.", args[0]));
               
               if (!uint.TryParse(args[1], NumberStyles.HexNumber, null, out rangeEnd))
                  throw new ArgumentException(String.Format("{0} is not a valid hexadecimal number.", args[1]));
               
               bool.TryParse(args[2], out setOutputEncodingToUnicode);
               break;
            default:
               Console.WriteLine("Usage: {0} <{1}> <{2}> [{3}]", 
                                 Environment.GetCommandLineArgs()[0], 
                                 "startingCodePointInHex", 
                                 "endingCodePointInHex", 
                                 "<setOutputEncodingToUnicode?{true|false, default:false}>");
               return;
         }
   
         if (setOutputEncodingToUnicode) {
            // This won't work before .NET Framework 4.5.
            try {
               // Set encoding using endianness of this system.
               // We're interested in displaying individual Char objects, so 
               // we don't want a Unicode BOM or exceptions to be thrown on
               // invalid Char values.
               Console.OutputEncoding = new UnicodeEncoding(! BitConverter.IsLittleEndian, false); 
               Console.WriteLine("\nOutput encoding set to UTF-16");
            }
            catch (IOException) {
               Console.OutputEncoding = new UTF8Encoding();
               Console.WriteLine("Output encoding set to UTF-8");
            }
         }
         else {
            Console.WriteLine("The console encoding is {0} (code page {1})", 
                              Console.OutputEncoding.EncodingName,
                              Console.OutputEncoding.CodePage);
         }
         DisplayRange(rangeStart, rangeEnd);
      }
      catch (ArgumentException ex) {
         Console.WriteLine(ex.Message);
      }
      finally {
         // Restore console environment.
         Console.OutputEncoding = originalOutputEncoding;
      }
   }

   public static void DisplayRange(uint start, uint end)
   {
      const uint upperRange = 0x10FFFF;
      const uint surrogateStart = 0xD800;
      const uint surrogateEnd = 0xDFFF;
       
      if (end <= start) {
         uint t = start;
         start = end;
         end = t;
      }

      // Check whether the start or end range is outside of last plane.
      if (start > upperRange)
         throw new ArgumentException(String.Format("0x{0:X5} is outside the upper range of Unicode code points (0x{1:X5})",
                                                   start, upperRange));                                   
      if (end > upperRange)
         throw new ArgumentException(String.Format("0x{0:X5} is outside the upper range of Unicode code points (0x{0:X5})",
                                                   end, upperRange));

      // Since we're using 21-bit code points, we can't use U+D800 to U+DFFF.
      if ((start < surrogateStart & end > surrogateStart) || (start >= surrogateStart & start <= surrogateEnd ))
         throw new ArgumentException(String.Format("0x{0:X5}-0x{1:X5} includes the surrogate pair range 0x{2:X5}-0x{3:X5}", 
                                                   start, end, surrogateStart, surrogateEnd));         
      uint last = RoundUpToMultipleOf(0x10, end);
      uint first = RoundDownToMultipleOf(0x10, start);

      uint rows = (last - first) / 0x10;

      for (uint r = 0; r < rows; ++r) {
         // Display the row header.
         Console.Write("{0:x5} ", first + 0x10 * r);

         for (uint c = 0; c < 0x10; ++c) {
            uint cur = (first + 0x10 * r + c);
            if (cur  < start) {
               Console.Write(" {0} ", Convert.ToChar(0x20));
            }
            else if (end < cur) {
               Console.Write(" {0} ", Convert.ToChar(0x20));
            }
            else {
               // the cast to int is safe, since we know that val <= upperRange.
               String chars = Char.ConvertFromUtf32( (int) cur);
               // Display a space for code points that are not valid characters.
               if (CharUnicodeInfo.GetUnicodeCategory(chars[0]) == 
                                               UnicodeCategory.OtherNotAssigned)
                  Console.Write(" {0} ", Convert.ToChar(0x20));
               // Display a space for code points in the private use area.
               else if (CharUnicodeInfo.GetUnicodeCategory(chars[0]) ==
                                              UnicodeCategory.PrivateUse)
                 Console.Write(" {0} ", Convert.ToChar(0x20));
               // Is surrogate pair a valid character?
               // Note that the console will interpret the high and low surrogate
               // as separate (and unrecognizable) characters.
               else if (chars.Length > 1 && CharUnicodeInfo.GetUnicodeCategory(chars, 0) == 
                                            UnicodeCategory.OtherNotAssigned)
                  Console.Write(" {0} ", Convert.ToChar(0x20));
               else
                  Console.Write(" {0} ", chars); 
            }
            
            switch (c) {
               case 3: case 11:
                  Console.Write("-");
                  break;
               case 7:
                  Console.Write("--");
                  break;
            }
         }

         Console.WriteLine();
         if (0 < r && r % 0x10 == 0)
            Console.WriteLine();
      }
   }

   private static uint RoundUpToMultipleOf(uint b, uint u)
   {
      return RoundDownToMultipleOf(b, u) + b;
   }

   private static uint RoundDownToMultipleOf(uint b, uint u)
   {
      return u - (u % b);
   }
}
// If the example is run with the command line
//       DisplayChars 0400 04FF true
// the example displays the Cyrillic character set as follows:
//       Output encoding set to UTF-16
//       00400  Ѐ  Ё  Ђ  Ѓ - Є  Ѕ  І  Ї -- Ј  Љ  Њ  Ћ - Ќ  Ѝ  Ў  Џ
//       00410  А  Б  В  Г - Д  Е  Ж  З -- И  Й  К  Л - М  Н  О  П
//       00420  Р  С  Т  У - Ф  Х  Ц  Ч -- Ш  Щ  Ъ  Ы - Ь  Э  Ю  Я
//       00430  а  б  в  г - д  е  ж  з -- и  й  к  л - м  н  о  п
//       00440  р  с  т  у - ф  х  ц  ч -- ш  щ  ъ  ы - ь  э  ю  я
//       00450  ѐ  ё  ђ  ѓ - є  ѕ  і  ї -- ј  љ  њ  ћ - ќ  ѝ  ў  џ
//       00460  Ѡ  ѡ  Ѣ  ѣ - Ѥ  ѥ  Ѧ  ѧ -- Ѩ  ѩ  Ѫ  ѫ - Ѭ  ѭ  Ѯ  ѯ
//       00470  Ѱ  ѱ  Ѳ  ѳ - Ѵ  ѵ  Ѷ  ѷ -- Ѹ  ѹ  Ѻ  ѻ - Ѽ  ѽ  Ѿ  ѿ
//       00480  Ҁ  ҁ  ҂  ҃ - ҄  ҅  ҆  ҇ -- ҈  ҉  Ҋ  ҋ - Ҍ  ҍ  Ҏ  ҏ
//       00490  Ґ  ґ  Ғ  ғ - Ҕ  ҕ  Җ  җ -- Ҙ  ҙ  Қ  қ - Ҝ  ҝ  Ҟ  ҟ
//       004a0  Ҡ  ҡ  Ң  ң - Ҥ  ҥ  Ҧ  ҧ -- Ҩ  ҩ  Ҫ  ҫ - Ҭ  ҭ  Ү  ү
//       004b0  Ұ  ұ  Ҳ  ҳ - Ҵ  ҵ  Ҷ  ҷ -- Ҹ  ҹ  Һ  һ - Ҽ  ҽ  Ҿ  ҿ
//       004c0  Ӏ  Ӂ  ӂ  Ӄ - ӄ  Ӆ  ӆ  Ӈ -- ӈ  Ӊ  ӊ  Ӌ - ӌ  Ӎ  ӎ  ӏ
//       004d0  Ӑ  ӑ  Ӓ  ӓ - Ӕ  ӕ  Ӗ  ӗ -- Ә  ә  Ӛ  ӛ - Ӝ  ӝ  Ӟ  ӟ
//       004e0  Ӡ  ӡ  Ӣ  ӣ - Ӥ  ӥ  Ӧ  ӧ -- Ө  ө  Ӫ  ӫ - Ӭ  ӭ  Ӯ  ӯ
//       004f0  Ӱ  ӱ  Ӳ  ӳ - Ӵ  ӵ  Ӷ  ӷ -- Ӹ  ӹ  Ӻ  ӻ - Ӽ  ӽ  Ӿ  ӿ
Imports System
Imports System.IO
Imports System.Globalization
Imports System.Text

Public Module DisplayChars
   Public Sub Main(args() As String)
      Dim rangeStart As UInteger = 0
      Dim rangeEnd As UInteger = 0
      Dim setOutputEncodingToUnicode As Boolean = True
      ' Get the current encoding so we can restore it.
      Dim originalOutputEncoding As Encoding = Console.OutputEncoding

   	Try
         Select Case args.Length
            Case 2
               rangeStart = UInt32.Parse(args(0), NumberStyles.HexNumber)
               rangeEnd = UInt32.Parse(args(1), NumberStyles.HexNumber)
               setOutputEncodingToUnicode = True
            Case 3
               If Not UInt32.TryParse(args(0), NumberStyles.HexNumber, Nothing, rangeStart) Then
                  Throw New ArgumentException(String.Format("{0} is not a valid hexadecimal number.", args(0)))
               End If
               
               If Not UInt32.TryParse(args(1), NumberStyles.HexNumber, Nothing, rangeEnd) Then
                  Throw New ArgumentException(String.Format("{0} is not a valid hexadecimal number.", args(1)))
               End If
               
               Boolean.TryParse(args(2), setOutputEncodingToUnicode)
            Case Else
               Console.WriteLine("Usage: {0} <{1}> <{2}> [{3}]", 
                                 Environment.GetCommandLineArgs()(0), 
                                 "startingCodePointInHex", 
                                 "endingCodePointInHex", 
                                 "<setOutputEncodingToUnicode?{true|false, default:false}>")
               Exit Sub
         End Select
   
         If setOutputEncodingToUnicode Then
            ' This won't work before .NET Framework 4.5.
            Try 
               ' Set encoding Imports endianness of this system.
               ' We're interested in displaying individual Char objects, so 
               ' we don't want a Unicode BOM or exceptions to be thrown on
               ' invalid Char values.
               Console.OutputEncoding = New UnicodeEncoding(Not BitConverter.IsLittleEndian, False) 
               Console.WriteLine("{0}Output encoding set to UTF-16", vbCrLf)
            Catch e As IOException
               Console.OutputEncoding = New UTF8Encoding()
               Console.WriteLine("Output encoding set to UTF-8")
            End Try
         Else
            Console.WriteLine("The console encoding is {0} (code page {1})", 
                              Console.OutputEncoding.EncodingName,
                              Console.OutputEncoding.CodePage)
         End If
         DisplayRange(rangeStart, rangeEnd)
      Catch ex As ArgumentException
         Console.WriteLine(ex.Message)
      Finally
         ' Restore console environment.
         Console.OutputEncoding = originalOutputEncoding
      End Try
   End Sub

   Public Sub DisplayRange(rangeStart As UInteger, rangeEnd As UInteger)
      Const upperRange As UInteger = &h10FFFF
      Const surrogateStart As UInteger = &hD800
      Const surrogateEnd As UInteger = &hDFFF
       
      If rangeEnd <= rangeStart Then
         Dim t As UInteger = rangeStart
         rangeStart = rangeEnd
         rangeEnd = t
      End If

      ' Check whether the start or end range is outside of last plane.
      If rangeStart > upperRange Then
         Throw New ArgumentException(String.Format("0x{0:X5} is outside the upper range of Unicode code points (0x{1:X5})",
                                                   rangeStart, upperRange))                                   
      End If
      If rangeEnd > upperRange Then
         Throw New ArgumentException(String.Format("0x{0:X5} is outside the upper range of Unicode code points (0x{0:X5})",
                                                   rangeEnd, upperRange))
      End If
      ' Since we're using 21-bit code points, we can't use U+D800 to U+DFFF.
      If (rangeStart < surrogateStart And rangeEnd > surrogateStart) OrElse (rangeStart >= surrogateStart And rangeStart <= surrogateEnd )
         Throw New ArgumentException(String.Format("0x{0:X5}-0x{1:X5} includes the surrogate pair range 0x{2:X5}-0x{3:X5}", 
                                                   rangeStart, rangeEnd, surrogateStart, surrogateEnd))         
      End If
      
      Dim last As UInteger = RoundUpToMultipleOf(&h10, rangeEnd)
      Dim first As UInteger = RoundDownToMultipleOf(&h10, rangeStart)

      Dim rows As UInteger = (last - first) \ &h10

      For r As UInteger = 0 To rows - 1
         ' Display the row header.
         Console.Write("{0:x5} ", first + &h10 * r)

         For c As UInteger = 1 To &h10
            Dim cur As UInteger = first + &h10 * r + c
            If cur  < rangeStart Then
               Console.Write(" {0} ", Convert.ToChar(&h20))
            Else If rangeEnd < cur Then
               Console.Write(" {0} ", Convert.ToChar(&h20))
            Else 
               ' the cast to int is safe, since we know that val <= upperRange.
               Dim chars As String = Char.ConvertFromUtf32(CInt(cur))
               ' Display a space for code points that are not valid characters.
               If CharUnicodeInfo.GetUnicodeCategory(chars(0)) = 
                                   UnicodeCategory.OtherNotAssigned Then
                  Console.Write(" {0} ", Convert.ToChar(&h20))
               ' Display a space for code points in the private use area.
               Else If CharUnicodeInfo.GetUnicodeCategory(chars(0)) =
                                        UnicodeCategory.PrivateUse Then
                 Console.Write(" {0} ", Convert.ToChar(&h20))
               ' Is surrogate pair a valid character?
               ' Note that the console will interpret the high and low surrogate
               ' as separate (and unrecognizable) characters.
               Else If chars.Length > 1 AndAlso CharUnicodeInfo.GetUnicodeCategory(chars, 0) = 
                                            UnicodeCategory.OtherNotAssigned Then
                  Console.Write(" {0} ", Convert.ToChar(&h20))
               Else
                  Console.Write(" {0} ", chars) 
               End If   
            End If
            
            Select Case c
               Case 3, 11
                  Console.Write("-")
               Case 7
                  Console.Write("--")
            End Select
         Next

         Console.WriteLine()
         If 0 < r AndAlso r Mod &h10 = 0
            Console.WriteLine()
         End If
      Next
   End Sub

   Private Function RoundUpToMultipleOf(b As UInteger, u As UInteger) As UInteger
      Return RoundDownToMultipleOf(b, u) + b
   End Function

   Private Function RoundDownToMultipleOf(b As UInteger, u As UInteger) As UInteger
      Return u - (u Mod b)
   End Function
End Module
' If the example is run with the command line
'       DisplayChars 0400 04FF true
' the example displays the Cyrillic character set as follows:
'       Output encoding set to UTF-16
'       00400  Ѐ  Ё  Ђ  Ѓ - Є  Ѕ  І  Ї -- Ј  Љ  Њ  Ћ - Ќ  Ѝ  Ў  Џ
'       00410  А  Б  В  Г - Д  Е  Ж  З -- И  Й  К  Л - М  Н  О  П
'       00420  Р  С  Т  У - Ф  Х  Ц  Ч -- Ш  Щ  Ъ  Ы - Ь  Э  Ю  Я
'       00430  а  б  в  г - д  е  ж  з -- и  й  к  л - м  н  о  п
'       00440  р  с  т  у - ф  х  ц  ч -- ш  щ  ъ  ы - ь  э  ю  я
'       00450  ѐ  ё  ђ  ѓ - є  ѕ  і  ї -- ј  љ  њ  ћ - ќ  ѝ  ў  џ
'       00460  Ѡ  ѡ  Ѣ  ѣ - Ѥ  ѥ  Ѧ  ѧ -- Ѩ  ѩ  Ѫ  ѫ - Ѭ  ѭ  Ѯ  ѯ
'       00470  Ѱ  ѱ  Ѳ  ѳ - Ѵ  ѵ  Ѷ  ѷ -- Ѹ  ѹ  Ѻ  ѻ - Ѽ  ѽ  Ѿ  ѿ
'       00480  Ҁ  ҁ  ҂  ҃ - ҄  ҅  ҆  ҇ -- ҈  ҉  Ҋ  ҋ - Ҍ  ҍ  Ҏ  ҏ
'       00490  Ґ  ґ  Ғ  ғ - Ҕ  ҕ  Җ  җ -- Ҙ  ҙ  Қ  қ - Ҝ  ҝ  Ҟ  ҟ
'       004a0  Ҡ  ҡ  Ң  ң - Ҥ  ҥ  Ҧ  ҧ -- Ҩ  ҩ  Ҫ  ҫ - Ҭ  ҭ  Ү  ү
'       004b0  Ұ  ұ  Ҳ  ҳ - Ҵ  ҵ  Ҷ  ҷ -- Ҹ  ҹ  Һ  һ - Ҽ  ҽ  Ҿ  ҿ
'       004c0  Ӏ  Ӂ  ӂ  Ӄ - ӄ  Ӆ  ӆ  Ӈ -- ӈ  Ӊ  ӊ  Ӌ - ӌ  Ӎ  ӎ  ӏ
'       004d0  Ӑ  ӑ  Ӓ  ӓ - Ӕ  ӕ  Ӗ  ӗ -- Ә  ә  Ӛ  ӛ - Ӝ  ӝ  Ӟ  ӟ
'       004e0  Ӡ  ӡ  Ӣ  ӣ - Ӥ  ӥ  Ӧ  ӧ -- Ө  ө  Ӫ  ӫ - Ӭ  ӭ  Ӯ  ӯ
'       004f0  Ӱ  ӱ  Ӳ  ӳ - Ӵ  ӵ  Ӷ  ӷ -- Ӹ  ӹ  Ӻ  ӻ - Ӽ  ӽ  Ӿ  ӿ

Стандартные операцииCommon Operations

Console Класс содержит следующие методы для чтения ввода в консоли и записи выходных данных консоли:The Console class contains the following methods for reading console input and writing console output:

  • Перегрузки ReadKey метод считывать отдельный символ.The overloads of the ReadKey method read an individual character.

  • ReadLine Метод считывает всю строку входных данных.The ReadLine method reads an entire line of input.

  • Write Перегрузок метода преобразования экземпляра типа значения, массив символов или набор объектов в форматированном или неформатированном виде строку и затем написать эту строку в консоль.The Write method overloads convert an instance of a value type, an array of characters, or a set of objects to a formatted or unformatted string, and then write that string to the console.

  • Набор параллельный WriteLine же строку в качестве выходных данных перегрузки метода Write перегрузки, а также добавлять признака конца строки.A parallel set of WriteLine method overloads output the same string as the Write overloads but also add a line termination string.

Console Класс также содержит методы и свойства для выполнения следующих операций:The Console class also contains methods and properties to perform the following operations:

  • Возвращает или задает размер буфера экрана.Get or set the size of the screen buffer. BufferHeight И BufferWidth свойства позволяют получить или задать буфера высоту и ширину, соответственно и SetBufferSize метод позволяет задать размер буфера в одном вызове метода.The BufferHeight and BufferWidth properties let you get or set the buffer height and width, respectively, and the SetBufferSize method lets you set the buffer size in a single method call.

  • Возвращает или задает размер окна консоли.Get or set the size of the console window. WindowHeight И WindowWidth свойства позволяют получить или задать ширину и высоту окна соответственно и SetWindowSize метод позволяет задать размер окна в одном вызове метода.The WindowHeight and WindowWidth properties let you get or set the window height and width, respectively, and the SetWindowSize method lets you set the window size in a single method call.

  • Возвращает или задает размер курсора.Get or set the size of the cursor. CursorSize Указывает высоту курсора в символьной ячейке.The CursorSize property specifies the height of the cursor in a character cell.

  • Возвращает или задает позицию окна консоли относительно буфера экрана.Get or set the position of the console window relative to the screen buffer. WindowTop И WindowLeft свойства позволяют получить или задать верхняя строка и крайний слева столбец буфера экрана, который отображается в окне консоли и SetWindowPosition метод позволяет задавать эти значения в одном вызове метода.The WindowTop and WindowLeft properties let you get or set the top row and leftmost column of the screen buffer that appears in the console window, and the SetWindowPosition method lets you set these values in a single method call.

  • Возвращает или задает положение курсора путем получения или установки CursorTop и CursorLeft свойства, или набора положение курсора путем вызова SetCursorPosition метод.Get or set the position of the cursor by getting or setting the CursorTop and CursorLeft properties, or set the position of the cursor by calling the SetCursorPosition method.

  • Переместить или удалить данные в буфере экрана путем вызова MoveBufferArea или Clear метод.Move or clear data in the screen buffer by calling the MoveBufferArea or Clear method.

  • Возвращает или задает цвет фона и цвета с помощью ForegroundColor и BackgroundColor свойства, или возвращается к их по умолчанию цвета фона и переднего плана, вызвав ResetColor метод.Get or set the foreground and background colors by using the ForegroundColor and BackgroundColor properties, or reset the background and foreground to their default colors by calling the ResetColor method.

  • Воспроизвести звуковой сигнал через динамик консоли, вызвав Beep метод.Play the sound of a beep through the console speaker by calling the Beep method.

.NET Core.NET Core ПримечанияNotes

В .NET Framework на рабочем столе Console класс использует кодировка, возвращенная GetConsoleCP и GetConsoleOutputCP, который обычно является кодовой страницы кодировки.In the .NET Framework on the desktop, the Console class uses the encoding returned by GetConsoleCP and GetConsoleOutputCP, which typically is a code page encoding. Например, в системах, языком и региональными параметрами является английский (США), кодовую страницу 437 представлена кодировку, используемую по умолчанию.For example code, on systems whose culture is English (United States), code page 437 is the encoding that is used by default. Тем не менее .NET Core.NET Core можно освободить только ограниченный набор этих кодировок.However, .NET Core.NET Core may make only a limited subset of these encodings available. Если это так, Encoding.UTF8 используется в качестве кодировки по умолчанию для консоли.Where this is the case, Encoding.UTF8 is used as the default encoding for the console.

Если приложение зависит от конкретных кодовых страниц, вы можете по-прежнему сделать их доступными, выполнив указанные ниже перед вызова любых Console методов:If your app depends on specific code page encodings, you can still make them available by doing the following before you call any Console methods:

  1. Добавьте ссылку на сборку System.Text.Encoding.CodePages.dll в проект.Add a reference to the System.Text.Encoding.CodePages.dll assembly to your project.

  2. Получить EncodingProvider объекта из CodePagesEncodingProvider.Instance свойство.Retrieve the EncodingProvider object from the CodePagesEncodingProvider.Instance property.

  3. Передайте EncodingProvider объект Encoding.RegisterProvider метод для установки дополнительных кодировках, поддерживаемых поставщик кодировки.Pass the EncodingProvider object to the Encoding.RegisterProvider method to make the additional encodings supported by the encoding provider available.

Console Класс будет автоматически использовать кодировку системы по умолчанию вместо UTF8, при условии, что вы зарегистрировали поставщик кодировки перед вызовом любых Console методов вывода.The Console class will then automatically use the default system encoding rather than UTF8, provided that you have registered the encoding provider before calling any Console output methods.

Свойства

BackgroundColor BackgroundColor BackgroundColor BackgroundColor

Возвращает или задает цвет фона консоли.Gets or sets the background color of the console.

BufferHeight BufferHeight BufferHeight BufferHeight

Возвращает или задает высоту буферной области.Gets or sets the height of the buffer area.

BufferWidth BufferWidth BufferWidth BufferWidth

Возвращает или задает ширину буферной области.Gets or sets the width of the buffer area.

CapsLock CapsLock CapsLock CapsLock

Возвращает значение, указывающее, включен или отключен режим CAPS LOCK клавиатуры.Gets a value indicating whether the CAPS LOCK keyboard toggle is turned on or turned off.

CursorLeft CursorLeft CursorLeft CursorLeft

Возвращает или задает позицию столбца курсора в буферной области.Gets or sets the column position of the cursor within the buffer area.

CursorSize CursorSize CursorSize CursorSize

Возвращает или задает высоту курсора в символьной ячейке.Gets or sets the height of the cursor within a character cell.

CursorTop CursorTop CursorTop CursorTop

Возвращает или задает позицию строки курсора в буферной области.Gets or sets the row position of the cursor within the buffer area.

CursorVisible CursorVisible CursorVisible CursorVisible

Возвращает или задает значение, указывающее, видим ли курсор.Gets or sets a value indicating whether the cursor is visible.

Error Error Error Error

Возвращает стандартный выходной поток сообщений об ошибках.Gets the standard error output stream.

ForegroundColor ForegroundColor ForegroundColor ForegroundColor

Возвращает или задает цвет фона консоли.Gets or sets the foreground color of the console.

In In In In

Возвращает стандартный входной поток.Gets the standard input stream.

InputEncoding InputEncoding InputEncoding InputEncoding

Возвращает или задает кодировку консоли, используемую при чтении входных данных.Gets or sets the encoding the console uses to read input.

IsErrorRedirected IsErrorRedirected IsErrorRedirected IsErrorRedirected

Получает значение, показывающее, был ли перенаправлен выходной поток ошибок от стандартного потока ошибок.Gets a value that indicates whether the error output stream has been redirected from the standard error stream.

IsInputRedirected IsInputRedirected IsInputRedirected IsInputRedirected

Получает значение, показывающее, был ли перенаправлены ли входные данные от стандартного входного потока.Gets a value that indicates whether input has been redirected from the standard input stream.

IsOutputRedirected IsOutputRedirected IsOutputRedirected IsOutputRedirected

Получает значение, показывающее, был ли перенаправлены выходные данные от стандартного выходного потока.Gets a value that indicates whether output has been redirected from the standard output stream.

KeyAvailable KeyAvailable KeyAvailable KeyAvailable

Возвращает или задает значение, указывающее, доступно ли нажатие клавиши во входном потоке.Gets a value indicating whether a key press is available in the input stream.

LargestWindowHeight LargestWindowHeight LargestWindowHeight LargestWindowHeight

Возвращает максимальное число строк окна консоли с учетом текущего шрифта и разрешения экрана.Gets the largest possible number of console window rows, based on the current font and screen resolution.

LargestWindowWidth LargestWindowWidth LargestWindowWidth LargestWindowWidth

Возвращает максимальное число столбцов окна консоли с учетом текущего шрифта и разрешения экрана.Gets the largest possible number of console window columns, based on the current font and screen resolution.

NumberLock NumberLock NumberLock NumberLock

Возвращает значение, указывающее, включен или отключен режим NUM LOCK клавиатуры.Gets a value indicating whether the NUM LOCK keyboard toggle is turned on or turned off.

Out Out Out Out

Возвращает стандартный выходной поток.Gets the standard output stream.

OutputEncoding OutputEncoding OutputEncoding OutputEncoding

Получает или задает кодировку консоли, используемую при записи выходных данных.Gets or sets the encoding the console uses to write output.

Title Title Title Title

Возвращает или задает заголовок для отображения в строке заголовка консоли.Gets or sets the title to display in the console title bar.

TreatControlCAsInput TreatControlCAsInput TreatControlCAsInput TreatControlCAsInput

Получает или задает значение, указывающее, интерпретируется ли комбинация клавиши-модификатора Control и клавиши консоли C (Ctrl+C) как обычный ввод или как прерывание, которое обрабатывается операционной системой.Gets or sets a value indicating whether the combination of the Control modifier key and C console key (Ctrl+C) is treated as ordinary input or as an interruption that is handled by the operating system.

WindowHeight WindowHeight WindowHeight WindowHeight

Возвращает или задает высоту области окна консоли.Gets or sets the height of the console window area.

WindowLeft WindowLeft WindowLeft WindowLeft

Возвращает или задает позицию левого края области окна консоли относительно буфера экрана.Gets or sets the leftmost position of the console window area relative to the screen buffer.

WindowTop WindowTop WindowTop WindowTop

Возвращает или задает позицию верхнего края области окна консоли относительно буфера экрана.Gets or sets the top position of the console window area relative to the screen buffer.

WindowWidth WindowWidth WindowWidth WindowWidth

Возвращает или задает ширину окна консоли.Gets or sets the width of the console window.

Методы

Beep() Beep() Beep() Beep()

Воспроизводит звуковой сигнал через динамик консоли.Plays the sound of a beep through the console speaker.

Beep(Int32, Int32) Beep(Int32, Int32) Beep(Int32, Int32) Beep(Int32, Int32)

Воспроизводит звуковой сигнал заданной частоты и длительности через динамик консоли.Plays the sound of a beep of a specified frequency and duration through the console speaker.

Clear() Clear() Clear() Clear()

Удаляет из буфера консоли и ее окна отображаемую информацию.Clears the console buffer and corresponding console window of display information.

MoveBufferArea(Int32, Int32, Int32, Int32, Int32, Int32) MoveBufferArea(Int32, Int32, Int32, Int32, Int32, Int32) MoveBufferArea(Int32, Int32, Int32, Int32, Int32, Int32) MoveBufferArea(Int32, Int32, Int32, Int32, Int32, Int32)

Копирует заданную исходную область буфера экрана в заданную область назначения.Copies a specified source area of the screen buffer to a specified destination area.

MoveBufferArea(Int32, Int32, Int32, Int32, Int32, Int32, Char, ConsoleColor, ConsoleColor) MoveBufferArea(Int32, Int32, Int32, Int32, Int32, Int32, Char, ConsoleColor, ConsoleColor) MoveBufferArea(Int32, Int32, Int32, Int32, Int32, Int32, Char, ConsoleColor, ConsoleColor) MoveBufferArea(Int32, Int32, Int32, Int32, Int32, Int32, Char, ConsoleColor, ConsoleColor)

Копирует заданную исходную область буфера экрана в заданную область назначения.Copies a specified source area of the screen buffer to a specified destination area.

OpenStandardError() OpenStandardError() OpenStandardError() OpenStandardError()

Получает стандартный поток сообщений об ошибках.Acquires the standard error stream.

OpenStandardError(Int32) OpenStandardError(Int32) OpenStandardError(Int32) OpenStandardError(Int32)

Получает стандартный поток сообщений об ошибках, для которого установлен заданный размер буфера.Acquires the standard error stream, which is set to a specified buffer size.

OpenStandardInput() OpenStandardInput() OpenStandardInput() OpenStandardInput()

Получает стандартный входной поток.Acquires the standard input stream.

OpenStandardInput(Int32) OpenStandardInput(Int32) OpenStandardInput(Int32) OpenStandardInput(Int32)

Получает стандартный входной поток, для которого установлен заданный размер буфера.Acquires the standard input stream, which is set to a specified buffer size.

OpenStandardOutput() OpenStandardOutput() OpenStandardOutput() OpenStandardOutput()

Получает стандартный выходной поток.Acquires the standard output stream.

OpenStandardOutput(Int32) OpenStandardOutput(Int32) OpenStandardOutput(Int32) OpenStandardOutput(Int32)

Получает стандартный выходной поток, для которого установлен заданный размер буфера.Acquires the standard output stream, which is set to a specified buffer size.

Read() Read() Read() Read()

Читает следующий символ из стандартного входного потока.Reads the next character from the standard input stream.

ReadKey() ReadKey() ReadKey() ReadKey()

Получает следующий нажатый пользователем символ или функциональную клавишу.Obtains the next character or function key pressed by the user. Нажатая клавиша отображается в окне консоли.The pressed key is displayed in the console window.

ReadKey(Boolean) ReadKey(Boolean) ReadKey(Boolean) ReadKey(Boolean)

Получает следующий нажатый пользователем символ или функциональную клавишу.Obtains the next character or function key pressed by the user. Нажатая клавиша может быть отображена в окне консоли.The pressed key is optionally displayed in the console window.

ReadLine() ReadLine() ReadLine() ReadLine()

Считывает следующую строку символов из стандартного входного потока.Reads the next line of characters from the standard input stream.

ResetColor() ResetColor() ResetColor() ResetColor()

Устанавливает для цветов фона и текста консоли их значения по умолчанию.Sets the foreground and background console colors to their defaults.

SetBufferSize(Int32, Int32) SetBufferSize(Int32, Int32) SetBufferSize(Int32, Int32) SetBufferSize(Int32, Int32)

Устанавливает заданные значения высоты и ширины буферной области экрана.Sets the height and width of the screen buffer area to the specified values.

SetCursorPosition(Int32, Int32) SetCursorPosition(Int32, Int32) SetCursorPosition(Int32, Int32) SetCursorPosition(Int32, Int32)

Устанавливает положение курсора.Sets the position of the cursor.

SetError(TextWriter) SetError(TextWriter) SetError(TextWriter) SetError(TextWriter)

Присваивает свойству Error указанный объект TextWriter.Sets the Error property to the specified TextWriter object.

SetIn(TextReader) SetIn(TextReader) SetIn(TextReader) SetIn(TextReader)

Присваивает свойству In указанный объект TextReader.Sets the In property to the specified TextReader object.

SetOut(TextWriter) SetOut(TextWriter) SetOut(TextWriter) SetOut(TextWriter)

Присваивает свойству Out указанный объект TextWriter.Sets the Out property to the specified TextWriter object.

SetWindowPosition(Int32, Int32) SetWindowPosition(Int32, Int32) SetWindowPosition(Int32, Int32) SetWindowPosition(Int32, Int32)

Задает позицию окна консоли относительно буфера экрана.Sets the position of the console window relative to the screen buffer.

SetWindowSize(Int32, Int32) SetWindowSize(Int32, Int32) SetWindowSize(Int32, Int32) SetWindowSize(Int32, Int32)

Устанавливает заданные значения высоты и ширины окна консоли.Sets the height and width of the console window to the specified values.

Write(String, Object, Object, Object, Object) Write(String, Object, Object, Object, Object) Write(String, Object, Object, Object, Object) Write(String, Object, Object, Object, Object)

Записывает текстовое представление заданных объектов и список параметров переменной длины в стандартный выходной поток, используя заданные сведения о форматировании.Writes the text representation of the specified objects and variable-length parameter list to the standard output stream using the specified format information.

Write(String, Object, Object, Object) Write(String, Object, Object, Object) Write(String, Object, Object, Object) Write(String, Object, Object, Object)

Записывает текстовые представления заданных объектов в стандартный выходной поток, используя заданные сведения о форматировании.Writes the text representation of the specified objects to the standard output stream using the specified format information.

Write(String, Object, Object) Write(String, Object, Object) Write(String, Object, Object) Write(String, Object, Object)

Записывает текстовые представления заданных объектов в стандартный выходной поток, используя заданные сведения о форматировании.Writes the text representation of the specified objects to the standard output stream using the specified format information.

Write(String, Object[]) Write(String, Object[]) Write(String, Object[]) Write(String, Object[])

Записывает текстовое представление заданного массива объектов в стандартный выходной поток, используя заданные сведения о форматировании.Writes the text representation of the specified array of objects to the standard output stream using the specified format information.

Write(String, Object) Write(String, Object) Write(String, Object) Write(String, Object)

Записывает текстовое представление заданного объекта в стандартный выходной поток, используя заданные сведения о форматировании.Writes the text representation of the specified object to the standard output stream using the specified format information.

Write(UInt64) Write(UInt64) Write(UInt64) Write(UInt64)

Записывает текстовое представление заданного 64-битового целого числа без знака в стандартный выходной поток.Writes the text representation of the specified 64-bit unsigned integer value to the standard output stream.

Write(UInt32) Write(UInt32) Write(UInt32) Write(UInt32)

Записывает текстовое представление заданного 32-битового целого числа без знака в стандартный выходной поток.Writes the text representation of the specified 32-bit unsigned integer value to the standard output stream.

Write(String) Write(String) Write(String) Write(String)

Записывает заданное строковое значение в стандартный выходной поток.Writes the specified string value to the standard output stream.

Write(Char[], Int32, Int32) Write(Char[], Int32, Int32) Write(Char[], Int32, Int32) Write(Char[], Int32, Int32)

Записывает заданный дочерний массив знаков Юникода в стандартный выходной поток.Writes the specified subarray of Unicode characters to the standard output stream.

Write(Object) Write(Object) Write(Object) Write(Object)

Записывает текстовое представление заданного объекта в стандартный выходной поток.Writes the text representation of the specified object to the standard output stream.

Write(Single) Write(Single) Write(Single) Write(Single)

Записывает текстовое представление заданного значения одинарной точности с плавающей запятой в стандартный выходной поток.Writes the text representation of the specified single-precision floating-point value to the standard output stream.

Write(Char) Write(Char) Write(Char) Write(Char)

Записывает значение заданного знака Юникода в стандартный выходной поток.Writes the specified Unicode character value to the standard output stream.

Write(Char[]) Write(Char[]) Write(Char[]) Write(Char[])

Записывает заданный массив знаков Юникода в стандартный выходной поток.Writes the specified array of Unicode characters to the standard output stream.

Write(Boolean) Write(Boolean) Write(Boolean) Write(Boolean)

Записывает текстовое представление заданного логического значения в стандартный выходной поток.Writes the text representation of the specified Boolean value to the standard output stream.

Write(Double) Write(Double) Write(Double) Write(Double)

Записывает текстовое представление заданного значения двойной точности с плавающей запятой в стандартный выходной поток.Writes the text representation of the specified double-precision floating-point value to the standard output stream.

Write(Int32) Write(Int32) Write(Int32) Write(Int32)

Записывает текстовое представление заданного 32-битового целого числа со знаком в стандартный поток вывода.Writes the text representation of the specified 32-bit signed integer value to the standard output stream.

Write(Int64) Write(Int64) Write(Int64) Write(Int64)

Записывает текстовое представление заданного 64-битового целого числа со знаком в стандартный поток вывода.Writes the text representation of the specified 64-bit signed integer value to the standard output stream.

Write(Decimal) Write(Decimal) Write(Decimal) Write(Decimal)

Записывает текстовое представление заданного значения Decimal в стандартный выходной поток.Writes the text representation of the specified Decimal value to the standard output stream.

WriteLine(String, Object, Object) WriteLine(String, Object, Object) WriteLine(String, Object, Object) WriteLine(String, Object, Object)

Записывает текстовые представления заданных объектов, за которыми следует текущий признак конца строки, в стандартный выходной поток с использованием заданных сведений о форматировании.Writes the text representation of the specified objects, followed by the current line terminator, to the standard output stream using the specified format information.

WriteLine(String) WriteLine(String) WriteLine(String) WriteLine(String)

Записывает заданное строковое значение, за которым следует текущий признак конца строки, в стандартный выходной поток.Writes the specified string value, followed by the current line terminator, to the standard output stream.

WriteLine(Char[], Int32, Int32) WriteLine(Char[], Int32, Int32) WriteLine(Char[], Int32, Int32) WriteLine(Char[], Int32, Int32)

Записывает заданный подмассив знаков Юникода, за которым следует текущий признак конца строки, в стандартный выходной поток.Writes the specified subarray of Unicode characters, followed by the current line terminator, to the standard output stream.

WriteLine(String, Object[]) WriteLine(String, Object[]) WriteLine(String, Object[]) WriteLine(String, Object[])

Записывает текстовые представления заданного массива объектов, за которым следует текущий признак конца строки, в стандартный выходной поток с использованием заданных сведений о форматировании.Writes the text representation of the specified array of objects, followed by the current line terminator, to the standard output stream using the specified format information.

WriteLine(String, Object) WriteLine(String, Object) WriteLine(String, Object) WriteLine(String, Object)

Записывает текстовое представление заданного объекта, за которым следует текущий признак конца строки, в стандартный выходной поток с использованием заданных сведений о форматировании.Writes the text representation of the specified object, followed by the current line terminator, to the standard output stream using the specified format information.

WriteLine(UInt64) WriteLine(UInt64) WriteLine(UInt64) WriteLine(UInt64)

Записывает текстовое представление заданного 64-битового целого числа без знака, за которым следует текущий признак конца строки, в стандартный выходной поток.Writes the text representation of the specified 64-bit unsigned integer value, followed by the current line terminator, to the standard output stream.

WriteLine(UInt32) WriteLine(UInt32) WriteLine(UInt32) WriteLine(UInt32)

Записывает текстовое представление заданного 32-битового целого числа без знака, за которым следует текущий признак конца строки, в стандартный выходной поток.Writes the text representation of the specified 32-bit unsigned integer value, followed by the current line terminator, to the standard output stream.

WriteLine(Single) WriteLine(Single) WriteLine(Single) WriteLine(Single)

Записывает текстовое представление заданного значения одинарной точности с плавающей запятой, за которым следует признак конца строки, в стандартный выходной поток.Writes the text representation of the specified single-precision floating-point value, followed by the current line terminator, to the standard output stream.

WriteLine(Decimal) WriteLine(Decimal) WriteLine(Decimal) WriteLine(Decimal)

Записывает текстовое представление указанного значения Decimal, за которым следует текущий знак завершения строки, в стандартный выходной поток.Writes the text representation of the specified Decimal value, followed by the current line terminator, to the standard output stream.

WriteLine(Int64) WriteLine(Int64) WriteLine(Int64) WriteLine(Int64)

Записывает текстовое представление заданного 64-битового целого числа со знаком, за которым следует текущий знак завершения строки, в стандартный поток вывода.Writes the text representation of the specified 64-bit signed integer value, followed by the current line terminator, to the standard output stream.

WriteLine(Int32) WriteLine(Int32) WriteLine(Int32) WriteLine(Int32)

Записывает текстовое представление заданного 32-битового целого числа со знаком, за которым следует текущий знак завершения строки, в стандартный выходной поток.Writes the text representation of the specified 32-bit signed integer value, followed by the current line terminator, to the standard output stream.

WriteLine(Double) WriteLine(Double) WriteLine(Double) WriteLine(Double)

Записывает текстовое представление заданного значения двойной точности с плавающей запятой, за которым следует признак конца строки, в стандартный выходной поток.Writes the text representation of the specified double-precision floating-point value, followed by the current line terminator, to the standard output stream.

WriteLine(Char[]) WriteLine(Char[]) WriteLine(Char[]) WriteLine(Char[])

Записывает заданный массив знаков Юникода, за которым следует текущий признак конца строки, в стандартный выходной поток.Writes the specified array of Unicode characters, followed by the current line terminator, to the standard output stream.

WriteLine(Char) WriteLine(Char) WriteLine(Char) WriteLine(Char)

Записывает заданный знак Юникода, за которым следует текущий признак конца строки, в стандартный выходной поток.Writes the specified Unicode character, followed by the current line terminator, value to the standard output stream.

WriteLine(Boolean) WriteLine(Boolean) WriteLine(Boolean) WriteLine(Boolean)

Записывает текстовое представление заданного логического значения с текущим признаком конца строки в стандартный выходной поток.Writes the text representation of the specified Boolean value, followed by the current line terminator, to the standard output stream.

WriteLine() WriteLine() WriteLine() WriteLine()

Записывает текущий признак конца строки в стандартный выходной поток.Writes the current line terminator to the standard output stream.

WriteLine(String, Object, Object, Object) WriteLine(String, Object, Object, Object) WriteLine(String, Object, Object, Object) WriteLine(String, Object, Object, Object)

Записывает текстовые представления заданных объектов, за которыми следует текущий признак конца строки, в стандартный выходной поток с использованием заданных сведений о форматировании.Writes the text representation of the specified objects, followed by the current line terminator, to the standard output stream using the specified format information.

WriteLine(Object) WriteLine(Object) WriteLine(Object) WriteLine(Object)

Записывает текстовое представление заданного объекта, за которым следует текущий признак конца строки, в стандартный выходной поток.Writes the text representation of the specified object, followed by the current line terminator, to the standard output stream.

WriteLine(String, Object, Object, Object, Object) WriteLine(String, Object, Object, Object, Object) WriteLine(String, Object, Object, Object, Object) WriteLine(String, Object, Object, Object, Object)

Записывает текстовые представления заданных объектов и список параметров переменной длины, за которыми следует текущий признак конца строки, в стандартный выходной поток с использованием заданных сведений о форматировании.Writes the text representation of the specified objects and variable-length parameter list, followed by the current line terminator, to the standard output stream using the specified format information.

События

CancelKeyPress CancelKeyPress CancelKeyPress CancelKeyPress

Возникает при одновременном нажатии клавиши-модификатора Control (Ctrl) и либо клавиши консоли C (C), либо клавиши Break (Ctrl+C или Ctrl+Break).Occurs when the Control modifier key (Ctrl) and either the C console key (C) or the Break key are pressed simultaneously (Ctrl+C or Ctrl+Break).

Применяется к

Потокобезопасность

Данный тип потокобезопасен.This type is thread safe.