Útmutató: Karakterek írása sztringbe
Az alábbi példakódok karaktereket írnak szinkron módon vagy aszinkron módon egy karaktertömbből egy sztringbe.
Példa: Karakterek szinkron írása konzolalkalmazásban
Az alábbi példa öt StringWriter karakter szinkron írását használja egy StringBuilder objektumra.
using System;
using System.IO;
using System.Text;
public class CharsToStr
{
public static void Main()
{
StringBuilder sb = new StringBuilder("Start with a string and add from ");
char[] b = { 'c', 'h', 'a', 'r', '.', ' ', 'B', 'u', 't', ' ', 'n', 'o', 't', ' ', 'a', 'l', 'l' };
using (StringWriter sw = new StringWriter(sb))
{
// Write five characters from the array into the StringBuilder.
sw.Write(b, 0, 5);
Console.WriteLine(sb);
}
}
}
// The example has the following output:
//
// Start with a string and add from char.
Imports System.IO
Imports System.Text
Public Class CharsToStr
Public Shared Sub Main()
Dim sb As New StringBuilder("Start with a string and add from ")
Dim b() As Char = {"c", "h", "a", "r", ".", " ", "B", "u", "t", " ", "n", "o", "t", " ", "a", "l", "l"}
Using sw As StringWriter = New StringWriter(sb)
' Write five characters from the array into the StringBuilder.
sw.Write(b, 0, 5)
Console.WriteLine(sb)
End Using
End Sub
End Class
' The example has the following output:
'
' Start with a string and add from char.
Példa: Karakterek írása aszinkron módon EGY WPF-alkalmazásban
A következő példa egy WPF-alkalmazás mögötti kód. Az ablakbetöltés során a példa aszinkron módon beolvassa az összes karaktert egy TextBox vezérlőből, és egy tömbben tárolja őket. Ezután aszinkron módon ír minden betűt vagy szóköz karaktert egy TextBlock vezérlőelem egy külön sorára.
using System;
using System.Text;
using System.Windows;
using System.IO;
namespace StringReaderWriter
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private async void Window_Loaded(object sender, RoutedEventArgs e)
{
char[] charsRead = new char[UserInput.Text.Length];
using (StringReader reader = new StringReader(UserInput.Text))
{
await reader.ReadAsync(charsRead, 0, UserInput.Text.Length);
}
StringBuilder reformattedText = new StringBuilder();
using (StringWriter writer = new StringWriter(reformattedText))
{
foreach (char c in charsRead)
{
if (char.IsLetter(c) || char.IsWhiteSpace(c))
{
await writer.WriteLineAsync(char.ToLower(c));
}
}
}
Result.Text = reformattedText.ToString();
}
}
}
Imports System.IO
Imports System.Text
''' <summary>
''' Interaction logic for MainWindow.xaml
''' </summary>
Partial Public Class MainWindow
Inherits Window
Public Sub New()
InitializeComponent()
End Sub
Private Async Sub Window_Loaded(sender As Object, e As RoutedEventArgs)
Dim charsRead As Char() = New Char(UserInput.Text.Length) {}
Using reader As StringReader = New StringReader(UserInput.Text)
Await reader.ReadAsync(charsRead, 0, UserInput.Text.Length)
End Using
Dim reformattedText As StringBuilder = New StringBuilder()
Using writer As StringWriter = New StringWriter(reformattedText)
For Each c As Char In charsRead
If Char.IsLetter(c) Or Char.IsWhiteSpace(c) Then
Await writer.WriteLineAsync(Char.ToLower(c))
End If
Next
End Using
Result.Text = reformattedText.ToString()
End Sub
End Class
Lásd még
- StringWriter
- StringWriter.Write
- StringBuilder
- Fájl és stream I/O
- Aszinkron fájl I/O
- Útmutató: Könyvtárak és fájlok számbavétele
- Útmutató: Olvasás és írás egy újonnan létrehozott adatfájlba
- Útmutató: Naplófájl megnyitása és hozzáfűzése
- Útmutató: Szöveg beolvasása fájlból
- Útmutató: Szöveg írása fájlba
- Útmutató: Karakterek olvasása sztringből
Dolgozzon együtt velünk a GitHubon
A tartalom forrása a GitHubon található, ahol létrehozhat és áttekinthet problémákat és lekéréses kérelmeket is. További információért tekintse meg a közreműködői útmutatónkat.