Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Mencipta Strim daripada String dalam C#?

Bagaimanakah Saya Boleh Mencipta Strim daripada String dalam C#?

Susan Sarandon
Susan Sarandonasal
2025-01-22 14:51:11728semak imbas

How Can I Create a Stream from a String in C#?

Mencipta Strim daripada Rentetan dalam C#

Panduan ini menunjukkan cara mencipta objek strim dengan cekap daripada rentetan dalam C#. Teknik ini amat berharga apabila fungsi ujian unit yang mengharapkan aliran sebagai input, meniru gelagat membaca daripada fail teks.

Penyelesaian:

Coretan kod C# berikut menyediakan fungsi untuk menukar rentetan kepada strim:

<code class="language-csharp">public static Stream StringToStream(string inputString)
{
    MemoryStream stream = new MemoryStream();
    StreamWriter writer = new StreamWriter(stream);
    writer.Write(inputString);
    writer.Flush();
    stream.Position = 0;
    return stream;
}</code>

Cara Menggunakannya:

Fungsi StringToStream ini boleh disepadukan ke dalam kod anda seperti ini:

<code class="language-csharp">using (Stream myStream = StringToStream("a,b \n c,d"))
{
    // Process the stream here...
}</code>

Nota Penting tentang Pelupusan StreamWriter:

StreamWriter tidak dilupuskan secara eksplisit dalam fungsi. Ini disengajakan. StreamWriter bertindak sebagai pembungkus; melupuskannya akan menutup lebih awal MemoryStream asas, yang perlu kami kembalikan.

.NET 4.5 dan Seterusnya:

Walaupun versi .NET 4.5 dan yang lebih baru menawarkan StreamWriter beban berlebihan yang mengekalkan strim asas terbuka selepas pelupusan, kod yang disediakan kekal serasi dengan semua rangka kerja .NET. Ini memastikan kebolehgunaan yang lebih luas.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mencipta Strim daripada String dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn