StringWriter.WriteAsync Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Zapisuje data do řetězce asynchronně.
Přetížení
| Name | Description |
|---|---|
| WriteAsync(Char) |
Zapíše znak do řetězce asynchronně. |
| WriteAsync(String) |
Zapíše řetězec do aktuálního řetězce asynchronně. |
| WriteAsync(ReadOnlyMemory<Char>, CancellationToken) |
Asynchronně zapíše do řetězce oblast paměti znaků. |
| WriteAsync(Char[], Int32, Int32) |
Zapíše dílčí pole znaků do řetězce asynchronně. |
WriteAsync(Char)
Zapíše znak do řetězce asynchronně.
public:
override System::Threading::Tasks::Task ^ WriteAsync(char value);
public override System.Threading.Tasks.Task WriteAsync(char value);
[System.Runtime.InteropServices.ComVisible(false)]
public override System.Threading.Tasks.Task WriteAsync(char value);
override this.WriteAsync : char -> System.Threading.Tasks.Task
[<System.Runtime.InteropServices.ComVisible(false)>]
override this.WriteAsync : char -> System.Threading.Tasks.Task
Public Overrides Function WriteAsync (value As Char) As Task
Parametry
- value
- Char
Znak pro zápis do řetězce.
Návraty
Úloha, která představuje asynchronní operaci zápisu.
- Atributy
Výjimky
Zapisovač řetězců je uvolněn.
Zapisovač řetězců se aktuálně používá předchozí operací zápisu.
Příklady
Následující příklad ukazuje, jak psát znaky pomocí WriteAsync(Char) metody.
using System;
using System.Text;
using System.IO;
namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
WriteCharacters();
}
static async void WriteCharacters()
{
StringBuilder stringToWrite = new StringBuilder("Characters in StringBuilder");
stringToWrite.AppendLine();
using (StringWriter writer = new StringWriter(stringToWrite))
{
UnicodeEncoding ue = new UnicodeEncoding();
char[] charsToAdd = ue.GetChars(ue.GetBytes("and chars to add"));
foreach (char c in charsToAdd)
{
await writer.WriteAsync(c);
}
Console.WriteLine(stringToWrite.ToString());
}
}
}
}
// The example displays the following output:
//
// Characters in StringBuilder
// and chars to add
//
Imports System.IO
Imports System.Text
Module Module1
Sub Main()
WriteCharacters()
End Sub
Async Sub WriteCharacters()
Dim stringToWrite As StringBuilder = New StringBuilder("Characters in StringBuilder")
stringToWrite.AppendLine()
Using writer As StringWriter = New StringWriter(stringToWrite)
Dim ue As UnicodeEncoding = New UnicodeEncoding()
Dim charsToAdd() = ue.GetChars(ue.GetBytes("and chars to add"))
For Each c As Char In charsToAdd
Await writer.WriteAsync(c)
Next
Console.WriteLine(stringToWrite.ToString())
End Using
End Sub
End Module
' The example displays the following output:
'
' Characters in StringBuilder
' and chars to add
'
Poznámky
Tato metoda ukládá do úlohy všechny výjimky bez použití, které může vyvolat synchronní protějšek metody. Pokud je výjimka uložena do vrácené úlohy, tato výjimka bude vyvolána, když je úkol očekáván. Výjimky použití, například ArgumentException, jsou stále vyvolány synchronně. V případě uložených výjimek se podívejte na výjimky vyvolané Write(Char).
Platí pro
WriteAsync(String)
Zapíše řetězec do aktuálního řetězce asynchronně.
public:
override System::Threading::Tasks::Task ^ WriteAsync(System::String ^ value);
public override System.Threading.Tasks.Task WriteAsync(string value);
[System.Runtime.InteropServices.ComVisible(false)]
public override System.Threading.Tasks.Task WriteAsync(string value);
override this.WriteAsync : string -> System.Threading.Tasks.Task
[<System.Runtime.InteropServices.ComVisible(false)>]
override this.WriteAsync : string -> System.Threading.Tasks.Task
Public Overrides Function WriteAsync (value As String) As Task
Parametry
- value
- String
Řetězec k zápisu. Pokud value je null, nic není zapsáno do textového streamu.
Návraty
Úloha, která představuje asynchronní operaci zápisu.
- Atributy
Výjimky
Zapisovač řetězců je uvolněn.
Zapisovač řetězců se aktuálně používá předchozí operací zápisu.
Příklady
Následující příklad ukazuje, jak zapsat řetězec pomocí WriteAsync(String) metody.
using System;
using System.Text;
using System.IO;
namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
WriteCharacters();
}
static async void WriteCharacters()
{
StringBuilder stringToWrite = new StringBuilder("Characters in StringBuilder");
stringToWrite.AppendLine();
using (StringWriter writer = new StringWriter(stringToWrite))
{
await writer.WriteAsync("and add characters through StringWriter");
Console.WriteLine(stringToWrite.ToString());
}
}
}
}
// The example displays the following output:
//
// Characters in StringBuilder
// and add characters through StringWriter
//
Imports System.IO
Imports System.Text
Module Module1
Sub Main()
WriteCharacters()
End Sub
Async Sub WriteCharacters()
Dim stringToWrite As StringBuilder = New StringBuilder("Characters in StringBuilder")
stringToWrite.AppendLine()
Using writer As StringWriter = New StringWriter(stringToWrite)
Await writer.WriteAsync("and add characters through StringWriter")
Console.WriteLine(stringToWrite.ToString())
End Using
End Sub
End Module
' The example displays the following output:
'
' Characters in StringBuilder
' and add characters through StringWriter
'
Poznámky
Tato metoda ukládá do úlohy všechny výjimky bez použití, které může vyvolat synchronní protějšek metody. Pokud je výjimka uložena do vrácené úlohy, tato výjimka bude vyvolána, když je úkol očekáván. Výjimky použití, například ArgumentException, jsou stále vyvolány synchronně. V případě uložených výjimek se podívejte na výjimky vyvolané Write(String).
Platí pro
WriteAsync(ReadOnlyMemory<Char>, CancellationToken)
Asynchronně zapíše do řetězce oblast paměti znaků.
public override System.Threading.Tasks.Task WriteAsync(ReadOnlyMemory<char> buffer, System.Threading.CancellationToken cancellationToken = default);
override this.WriteAsync : ReadOnlyMemory<char> * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Overrides Function WriteAsync (buffer As ReadOnlyMemory(Of Char), Optional cancellationToken As CancellationToken = Nothing) As Task
Parametry
- buffer
- ReadOnlyMemory<Char>
Oblast paměti znaků pro zápis do řetězce.
- cancellationToken
- CancellationToken
Token pro monitorování žádostí o zrušení. Výchozí hodnota je None.
Návraty
Úloha, která představuje asynchronní operaci zápisu.
Výjimky
Token zrušení byl zrušen. Tato výjimka je uložena do vrácené úlohy.
Platí pro
WriteAsync(Char[], Int32, Int32)
Zapíše dílčí pole znaků do řetězce asynchronně.
public:
override System::Threading::Tasks::Task ^ WriteAsync(cli::array <char> ^ buffer, int index, int count);
public override System.Threading.Tasks.Task WriteAsync(char[] buffer, int index, int count);
[System.Runtime.InteropServices.ComVisible(false)]
public override System.Threading.Tasks.Task WriteAsync(char[] buffer, int index, int count);
override this.WriteAsync : char[] * int * int -> System.Threading.Tasks.Task
[<System.Runtime.InteropServices.ComVisible(false)>]
override this.WriteAsync : char[] * int * int -> System.Threading.Tasks.Task
Public Overrides Function WriteAsync (buffer As Char(), index As Integer, count As Integer) As Task
Parametry
- buffer
- Char[]
Pole znaků pro zápis dat z.
- index
- Int32
Pozice ve vyrovnávací paměti, na které se mají začít číst data.
- count
- Int32
Maximální počet znaků k zápisu.
Návraty
Úloha, která představuje asynchronní operaci zápisu.
- Atributy
Výjimky
buffer je null.
Plus indexcount je větší než délka vyrovnávací paměti.
index nebo count je negativní.
Zapisovač řetězců je uvolněn.
Zapisovač řetězců se aktuálně používá předchozí operací zápisu.
Příklady
Následující příklad ukazuje, jak psát znaky pomocí WriteAsync(Char[], Int32, Int32) metody.
using System;
using System.Text;
using System.IO;
namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
WriteCharacters();
}
static async void WriteCharacters()
{
StringBuilder stringToWrite = new StringBuilder("Characters in StringBuilder");
stringToWrite.AppendLine();
using (StringWriter writer = new StringWriter(stringToWrite))
{
UnicodeEncoding ue = new UnicodeEncoding();
char[] charsToAdd = ue.GetChars(ue.GetBytes("and chars to add"));
await writer.WriteAsync(charsToAdd, 0, charsToAdd.Length);
Console.WriteLine(stringToWrite.ToString());
}
}
}
}
// The example displays the following output:
//
// Characters in StringBuilder
// and chars to add
//
Imports System.IO
Imports System.Text
Module Module1
Sub Main()
WriteCharacters()
End Sub
Async Sub WriteCharacters()
Dim stringToWrite As StringBuilder = New StringBuilder("Characters in StringBuilder")
stringToWrite.AppendLine()
Using writer As StringWriter = New StringWriter(stringToWrite)
Dim ue As UnicodeEncoding = New UnicodeEncoding()
Dim charsToAdd() = ue.GetChars(ue.GetBytes("and chars to add"))
Await writer.WriteAsync(charsToAdd, 0, charsToAdd.Length)
Console.WriteLine(stringToWrite.ToString())
End Using
End Sub
End Module
' The example displays the following output:
'
' Characters in StringBuilder
' and chars to add
'
Poznámky
Tato metoda ukládá do úlohy všechny výjimky bez použití, které může vyvolat synchronní protějšek metody. Pokud je výjimka uložena do vrácené úlohy, tato výjimka bude vyvolána, když je úkol očekáván. Výjimky použití, například ArgumentException, jsou stále vyvolány synchronně. V případě uložených výjimek se podívejte na výjimky vyvolané Write(Char[], Int32, Int32).