Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Az alábbi példakód bemutatja, hogyan olvashatja be a karaktereket szinkron módon vagy aszinkron módon egy sztringből.
Példa: Karakterek szinkron olvasása
Ez a példa 13 karaktert olvas be szinkron módon egy sztringből, tárolja őket egy tömbben, és megjeleníti őket. A példa ezután felolvassa a sztring többi karakterét, tárolja őket a tömbben a hatodik elemtől kezdve, és megjeleníti a tömb tartalmát.
using System;
using System.IO;
public class CharsFromStr
{
public static void Main()
{
string str = "Some number of characters";
char[] b = new char[str.Length];
using (StringReader sr = new StringReader(str))
{
// Read 13 characters from the string into the array.
sr.Read(b, 0, 13);
Console.WriteLine(b);
// Read the rest of the string starting at the current string position.
// Put in the array starting at the 6th array member.
sr.Read(b, 5, str.Length - 13);
Console.WriteLine(b);
}
}
}
// The example has the following output:
//
// Some number o
// Some f characters
Imports System.IO
Public Class CharsFromStr
Public Shared Sub Main()
Dim str As String = "Some number of characters"
Dim b(str.Length - 1) As Char
Using sr As StringReader = New StringReader(str)
' Read 13 characters from the string into the array.
sr.Read(b, 0, 13)
Console.WriteLine(b)
' Read the rest of the string starting at the current string position.
' Put in the array starting at the 6th array member.
sr.Read(b, 5, str.Length - 13)
Console.WriteLine(b)
End Using
End Sub
End Class
' The example has the following output:
'
' Some number o
' Some f characters
Példa: Karakterek aszinkron olvasása
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
- StringReader
- StringReader.Read
- Aszinkron fájl be-/kimenet
- Útmutató: Címtárlista létrehozása
- Ú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
- Hogyan írjunk karaktereket karaktersorba
- Fájl és folyam I/O