StringWriter Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Implementa un oggetto TextWriter per la scrittura di informazioni in una stringa. Le informazioni vengono archiviate in un oggetto sottostante StringBuilder.
public ref class StringWriter : System::IO::TextWriter
public class StringWriter : System.IO.TextWriter
[System.Serializable]
public class StringWriter : System.IO.TextWriter
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class StringWriter : System.IO.TextWriter
type StringWriter = class
inherit TextWriter
[<System.Serializable>]
type StringWriter = class
inherit TextWriter
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type StringWriter = class
inherit TextWriter
Public Class StringWriter
Inherits TextWriter
- Ereditarietà
- Ereditarietà
- Attributi
Esempio
Nell'esempio di codice seguente viene illustrata la creazione di un paragrafo continuo da un gruppo di frasi con spaziatura doppia e quindi la conversione del paragrafo nel testo originale.
using System;
using System.IO;
class StringRW
{
static void Main()
{
string textReaderText = "TextReader is the abstract base " +
"class of StreamReader and StringReader, which read " +
"characters from streams and strings, respectively.\n\n" +
"Create an instance of TextReader to open a text file " +
"for reading a specified range of characters, or to " +
"create a reader based on an existing stream.\n\n" +
"You can also use an instance of TextReader to read " +
"text from a custom backing store using the same " +
"APIs you would use for a string or a stream.\n\n";
Console.WriteLine("Original text:\n\n{0}", textReaderText);
// From textReaderText, create a continuous paragraph
// with two spaces between each sentence.
string aLine, aParagraph = null;
StringReader strReader = new StringReader(textReaderText);
while(true)
{
aLine = strReader.ReadLine();
if(aLine != null)
{
aParagraph = aParagraph + aLine + " ";
}
else
{
aParagraph = aParagraph + "\n";
break;
}
}
Console.WriteLine("Modified text:\n\n{0}", aParagraph);
// Re-create textReaderText from aParagraph.
int intCharacter;
char convertedCharacter;
StringWriter strWriter = new StringWriter();
strReader = new StringReader(aParagraph);
while(true)
{
intCharacter = strReader.Read();
// Check for the end of the string
// before converting to a character.
if(intCharacter == -1) break;
convertedCharacter = (char)intCharacter;
if(convertedCharacter == '.')
{
strWriter.Write(".\n\n");
// Bypass the spaces between sentences.
strReader.Read();
strReader.Read();
}
else
{
strWriter.Write(convertedCharacter);
}
}
Console.WriteLine("\nOriginal text:\n\n{0}",
strWriter.ToString());
}
}
Option Explicit
Option Strict
Imports System.IO
Public Class StrReader
Shared Sub Main()
Dim textReaderText As String = "TextReader is the " & _
"abstract base class of StreamReader and " & _
"StringReader, which read characters from streams " & _
"and strings, respectively." & _
vbCrLf & vbCrLf & _
"Create an instance of TextReader to open a text " & _
"file for reading a specified range of characters, " & _
"or to create a reader based on an existing stream." & _
vbCrLf & vbCrLf & _
"You can also use an instance of TextReader to read " & _
"text from a custom backing store using the same " & _
"APIs you would use for a string or a stream." & _
vbCrLf & vbCrLf
Console.WriteLine("Original text:" & vbCrLf & vbCrLf & _
textReaderText)
' From textReaderText, create a continuous paragraph
' with two spaces between each sentence.
Dim aLine, aParagraph As String
Dim strReader As New StringReader(textReaderText)
While True
aLine = strReader.ReadLine()
If aLine Is Nothing Then
aParagraph = aParagraph & vbCrLf
Exit While
Else
aParagraph = aParagraph & aLine & " "
End If
End While
Console.WriteLine("Modified text:" & vbCrLf & vbCrLf & _
aParagraph)
' Re-create textReaderText from aParagraph.
Dim intCharacter As Integer
Dim convertedCharacter As Char
Dim strWriter As New StringWriter()
strReader = New StringReader(aParagraph)
While True
intCharacter = strReader.Read()
' Check for the end of the string
' before converting to a character.
If intCharacter = -1 Then
Exit While
End If
convertedCharacter = Convert.ToChar(intCharacter)
If convertedCharacter = "."C Then
strWriter.Write("." & vbCrLf & vbCrLf)
' Bypass the spaces between sentences.
strReader.Read()
strReader.Read()
Else
strWriter.Write(convertedCharacter)
End If
End While
Console.WriteLine(vbCrLf & "Original text:" & vbCrLf & _
vbCrLf & strWriter.ToString())
End Sub
End Class
Commenti
StringWriter consente di scrivere in una stringa in modo sincrono o asincrono. È possibile scrivere un carattere alla volta con o con il Write(Char)WriteAsync(Char) metodo , una stringa alla volta usando o Write(String) il WriteAsync(String) metodo . Inoltre, è possibile scrivere un carattere, una matrice di caratteri o una stringa seguita dal terminatore di riga in modo asincrono con uno dei WriteLineAsync metodi .
Note
Questo tipo implementa l'interfaccia IDisposable , ma non ha effettivamente risorse da eliminare. Ciò significa che la eliminazione viene eseguita chiamando direttamente Dispose() o usando un costrutto del linguaggio, ad esempio using (in C#) o Using (in Visual Basic) non è necessario.
Nella tabella seguente sono elencati esempi di altre attività di I/O tipiche o correlate.
| Per eseguire questa operazione... | Consulta l'esempio in questo argomento... |
|---|---|
| Creare un file di testo. | Procedura: Scrivere testo in un file |
| Scrittura in un file di testo. | Procedura: Scrivere testo in un file |
| Leggere da un file di testo. | Procedura: Leggere testo da un file |
| Aggiungere testo a un file. |
Procedura: Aprire e aggiungere a un file di log File.AppendText FileInfo.AppendText |
| Ottenere le dimensioni di un file. | FileInfo.Length |
| Ottenere gli attributi di un file. | File.GetAttributes |
| Impostare gli attributi di un file. | File.SetAttributes |
| Determinare se esiste un file. | File.Exists |
| Leggere da un file binario. | Procedura: Leggere e scrivere in un file di dati appena creato |
| Scrivere in un file binario. | Procedura: Leggere e scrivere in un file di dati appena creato |
Costruttori
| Nome | Descrizione |
|---|---|
| StringWriter() |
Inizializza una nuova istanza della classe StringWriter. |
| StringWriter(IFormatProvider) |
Inizializza una nuova istanza della StringWriter classe con il controllo formato specificato. |
| StringWriter(StringBuilder, IFormatProvider) |
Inizializza una nuova istanza della StringWriter classe che scrive nell'oggetto specificato StringBuilder e ha il provider di formato specificato. |
| StringWriter(StringBuilder) |
Inizializza una nuova istanza della StringWriter classe che scrive nell'oggetto specificato StringBuilder. |
Campi
| Nome | Descrizione |
|---|---|
| CoreNewLine |
Archivia i caratteri di nuova riga utilizzati per questo |
Proprietà
| Nome | Descrizione |
|---|---|
| Encoding |
Ottiene l'oggetto Encoding in cui viene scritto l'output. |
| FormatProvider |
Ottiene un oggetto che controlla la formattazione. (Ereditato da TextWriter) |
| NewLine |
Ottiene o imposta la stringa del carattere di terminazione della riga utilizzata dall'oggetto corrente |
Metodi
| Nome | Descrizione |
|---|---|
| Close() |
Chiude l'oggetto corrente StringWriter e il flusso sottostante. |
| CreateObjRef(Type) |
Crea un oggetto che contiene tutte le informazioni pertinenti necessarie per generare un proxy utilizzato per comunicare con un oggetto remoto. (Ereditato da MarshalByRefObject) |
| Dispose() |
Rilascia tutte le risorse utilizzate dall'oggetto TextWriter . (Ereditato da TextWriter) |
| Dispose(Boolean) |
Rilascia le risorse non gestite usate da StringWriter e, facoltativamente, rilascia le risorse gestite. |
| DisposeAsync() |
Rilascia in modo asincrono tutte le risorse usate dall'oggetto TextWriter . (Ereditato da TextWriter) |
| Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
| Flush() |
Cancella tutti i buffer per il writer corrente e determina la scrittura di tutti i dati memorizzati nel buffer nel dispositivo sottostante. (Ereditato da TextWriter) |
| FlushAsync() |
Cancella in modo asincrono tutti i buffer per il writer corrente e determina la scrittura di tutti i dati memorizzati nel buffer nel dispositivo sottostante. |
| GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
| GetLifetimeService() |
Recupera l'oggetto servizio di durata corrente che controlla i criteri di durata per questa istanza. (Ereditato da MarshalByRefObject) |
| GetStringBuilder() |
Restituisce l'oggetto sottostante StringBuilder. |
| GetType() |
Ottiene il Type dell'istanza corrente. (Ereditato da Object) |
| InitializeLifetimeService() |
Ottiene un oggetto servizio di durata per controllare i criteri di durata per questa istanza. (Ereditato da MarshalByRefObject) |
| MemberwiseClone() |
Crea una copia superficiale del Objectcorrente. (Ereditato da Object) |
| MemberwiseClone(Boolean) |
Crea una copia superficiale dell'oggetto corrente MarshalByRefObject . (Ereditato da MarshalByRefObject) |
| ToString() |
Restituisce una stringa contenente i caratteri scritti nell'oggetto corrente |
| Write(Boolean) |
Scrive la rappresentazione testuale di un |
| Write(Char) |
Scrive un carattere nella stringa. |
| Write(Char[], Int32, Int32) |
Scrive una sottomaschera di caratteri nella stringa. |
| Write(Char[]) |
Scrive una matrice di caratteri nel flusso di testo. (Ereditato da TextWriter) |
| Write(Decimal) |
Scrive la rappresentazione testuale di un valore decimale nel flusso di testo. (Ereditato da TextWriter) |
| Write(Double) |
Scrive la rappresentazione testuale di un valore a virgola mobile a 8 byte nel flusso di testo. (Ereditato da TextWriter) |
| Write(Int32) |
Scrive la rappresentazione testuale di un intero con segno a 4 byte nel flusso di testo. (Ereditato da TextWriter) |
| Write(Int64) |
Scrive la rappresentazione testuale di un intero con segno a 8 byte nel flusso di testo. (Ereditato da TextWriter) |
| Write(Object) |
Scrive la rappresentazione testuale di un oggetto nel flusso di testo chiamando il |
| Write(ReadOnlySpan<Char>) |
Scrive la rappresentazione di stringa di un intervallo di caratteri nella stringa corrente. |
| Write(Single) |
Scrive la rappresentazione testuale di un valore a virgola mobile a 4 byte nel flusso di testo. (Ereditato da TextWriter) |
| Write(String, Object, Object, Object) |
Scrive una stringa formattata nel flusso di testo usando la stessa semantica del Format(String, Object, Object, Object) metodo . (Ereditato da TextWriter) |
| Write(String, Object, Object) |
Scrive una stringa formattata nel flusso di testo usando la stessa semantica del Format(String, Object, Object) metodo . (Ereditato da TextWriter) |
| Write(String, Object) |
Scrive una stringa formattata nel flusso di testo usando la stessa semantica del Format(String, Object) metodo . (Ereditato da TextWriter) |
| Write(String, Object[]) |
Scrive una stringa formattata nel flusso di testo usando la stessa semantica del Format(String, Object[]) metodo . (Ereditato da TextWriter) |
| Write(String) |
Scrive una stringa nella stringa corrente. |
| Write(UInt32) |
Scrive nel flusso di testo la rappresentazione testuale di un intero senza segno a 4 byte. (Ereditato da TextWriter) |
| Write(UInt64) |
Scrive la rappresentazione testuale di un intero senza segno a 8 byte nel flusso di testo. (Ereditato da TextWriter) |
| WriteAsync(Char) |
Scrive un carattere nella stringa in modo asincrono. |
| WriteAsync(Char[], Int32, Int32) |
Scrive una sottomaschera di caratteri nella stringa in modo asincrono. |
| WriteAsync(Char[]) |
Scrive una matrice di caratteri nel flusso di testo in modo asincrono. (Ereditato da TextWriter) |
| WriteAsync(ReadOnlyMemory<Char>, CancellationToken) |
Scrive in modo asincrono un'area di memoria di caratteri nella stringa. |
| WriteAsync(String) |
Scrive una stringa nella stringa corrente in modo asincrono. |
| WriteLine() |
Scrive un terminatore di riga nel flusso di testo. (Ereditato da TextWriter) |
| WriteLine(Boolean) |
Scrive la rappresentazione testuale di un |
| WriteLine(Char) |
Scrive un carattere nel flusso di testo, seguito da un terminatore di riga. (Ereditato da TextWriter) |
| WriteLine(Char[], Int32, Int32) |
Scrive una sottomaschera di caratteri nel flusso di testo, seguita da un terminatore di riga. (Ereditato da TextWriter) |
| WriteLine(Char[]) |
Scrive una matrice di caratteri nel flusso di testo, seguita da un terminatore di riga. (Ereditato da TextWriter) |
| WriteLine(Decimal) |
Scrive la rappresentazione testuale di un valore decimale nel flusso di testo, seguita da un terminatore di riga. (Ereditato da TextWriter) |
| WriteLine(Double) |
Scrive la rappresentazione testuale di un valore a virgola mobile a 8 byte nel flusso di testo, seguito da un terminatore di riga. (Ereditato da TextWriter) |
| WriteLine(Int32) |
Scrive la rappresentazione testuale di un intero con segno a 4 byte nel flusso di testo, seguito da un terminatore di riga. (Ereditato da TextWriter) |
| WriteLine(Int64) |
Scrive la rappresentazione testuale di un intero con segno a 8 byte nel flusso di testo, seguito da un terminatore di riga. (Ereditato da TextWriter) |
| WriteLine(Object) |
Scrive la rappresentazione testuale di un oggetto nel flusso di testo chiamando il |
| WriteLine(ReadOnlySpan<Char>) |
Scrive nella stringa una rappresentazione testuale di un intervallo di caratteri, seguito da un terminatore di riga. |
| WriteLine(Single) |
Scrive la rappresentazione testuale di un valore a virgola mobile a 4 byte nel flusso di testo, seguito da un terminatore di riga. (Ereditato da TextWriter) |
| WriteLine(String, Object, Object, Object) |
Scrive una stringa formattata e una nuova riga nel flusso di testo, usando la stessa semantica di Format(String, Object). (Ereditato da TextWriter) |
| WriteLine(String, Object, Object) |
Scrive una stringa formattata e una nuova riga nel flusso di testo, usando la stessa semantica del Format(String, Object, Object) metodo . (Ereditato da TextWriter) |
| WriteLine(String, Object) |
Scrive una stringa formattata e una nuova riga nel flusso di testo, usando la stessa semantica del Format(String, Object) metodo . (Ereditato da TextWriter) |
| WriteLine(String, Object[]) |
Scrive una stringa formattata e una nuova riga nel flusso di testo, usando la stessa semantica di Format(String, Object). (Ereditato da TextWriter) |
| WriteLine(String) |
Scrive una stringa nel flusso di testo, seguita da un terminatore di riga. (Ereditato da TextWriter) |
| WriteLine(UInt32) |
Scrive la rappresentazione testuale di un intero senza segno a 4 byte nel flusso di testo, seguito da un terminatore di riga. (Ereditato da TextWriter) |
| WriteLine(UInt64) |
Scrive la rappresentazione testuale di un intero senza segno a 8 byte nel flusso di testo, seguito da un terminatore di riga. (Ereditato da TextWriter) |
| WriteLineAsync() |
Scrive in modo asincrono un terminatore di riga nel flusso di testo. (Ereditato da TextWriter) |
| WriteLineAsync(Char) |
Scrive in modo asincrono un carattere nella stringa, seguito da un terminatore di riga. |
| WriteLineAsync(Char[], Int32, Int32) |
scrive in modo asincrono una sottomaschera di caratteri nella stringa, seguita da un terminatore di riga. |
| WriteLineAsync(Char[]) |
Scrive in modo asincrono una matrice di caratteri nel flusso di testo, seguita da un terminatore di riga. (Ereditato da TextWriter) |
| WriteLineAsync(ReadOnlyMemory<Char>, CancellationToken) |
Scrive in modo asincrono la rappresentazione di stringa dell'area di memoria dei caratteri nella stringa corrente, seguita da un terminatore di riga. |
| WriteLineAsync(String) |
Scrive in modo asincrono una stringa nella stringa corrente, seguita da un terminatore di riga. |
Implementazioni dell'interfaccia esplicita
| Nome | Descrizione |
|---|---|
| IDisposable.Dispose() |
Per una descrizione di questo membro, vedere Dispose(). (Ereditato da TextWriter) |
Metodi di estensione
| Nome | Descrizione |
|---|---|
| ConfigureAwait(IAsyncDisposable, Boolean) |
Configura il modo in cui verranno eseguite le attese nelle attività restituite da un oggetto eliminabile asincrono. |