استخدام StringWriter Class

-

يتم استخدام هذه class لكتابة string data والتعامل معها بدلاً من الملفات. وهي مشتقة من فئة TextWriter. يتم تخزين string data المكتوبة بواسطة فئة StringWriter في StringBuilder.


الغرض من هذه الفئة هو معالجة string وحفظ النتيجة في StringBuilder.

يجب عند استخدما هذا class استخدام الكود التالي :

[SerializableAttribute]  
[ComVisibleAttribute(true)]  
public class StringWriter : TextWriter


مثال :


using System;
using System.IO;
using System.Text;
namespace OOP
{
    public class FileStreamExample
    {
        static void Main(string[] args)
        {
            string text = "Hello, Welcome to the www.devkum.com \n" +
                "Learn with us, a lot of technical tutorials available  on our site";
            // Creating StringBuilder instance  
            StringBuilder sb = new StringBuilder();
            // Passing StringBuilder instance into StringWriter  
            StringWriter writer = new StringWriter(sb);
            // Writing data using StringWriter  
            writer.WriteLine(text);
            writer.Flush();
            // Closing writer connection  
            writer.Close();
            // Creating StringReader instance and passing StringBuilder  
            StringReader reader = new StringReader(sb.ToString());
            // Reading data  
            while (reader.Peek() > -1)
            {
                Console.WriteLine(reader.ReadLine());
            }
        }
    }
}

النتيجة : 



في هذا المثال تعاملنا مع string مباشرة في البرنامج دون استخدام الملفات. حيث استخدمنا  StringWriter class لكتابة string information إلى StringBuilder class. يتم استخدام فئة StringReader لقراءة المعلومات المكتوبة إلى StringBuilder.


الجدول التالي يحتوي على StringWriter Constructors



الوصف
Constructors
يتم استخدامه لتهيئة مثيل instance جديد لفئة StringWriter.
StringWriter()
يتم استخدامه لتهيئة مثيل instance جديد لفئة StringWriter  باستخدام عنصر تحكم التنسيق المحدد. specified format control.
StringWriter(IFormatProvider)
يتم استخدامه لتهيئة مثيل instance جديد لفئة StringWriter التي تكتب إلى StringBuilder المحدد.
StringWriter(StringBuilder)
يتم استخدامه لتهيئة مثيل instance جديد لفئة StringWriter التي تكتب إلى StringBuilder المحدد ولها موفر التنسيق المحدد specified format provider.
StringWriter(StringBuilder,?IFormatProvider)


خصائص StringWriter Properties



الوصف
Property
يتم استخدامه للحصول على الترميز Encoding الذي يتم كتابة output به.
Encoding
يتم استخدامه للحصول على object يتحكم في التنسيق formatting.
FormatProvider
يتم استخدامه للحصول على أو تعيين سلسلة كسطر فاصل line terminator string المستخدمة بواسطة TextWriter الحالي.
NewLine



طرق StringWriter Methods


الوصف
Methods
يتم استخدامه لإغلاق StringWriter الحالي والدفق الأساسي underlying stream.
Close()
يتم استخدامه لتحرير كافة الموارد المستخدمة بواسطة object TextWriter.
Dispose()
يتم استخدامه لتحديد ما إذا كان الكائن المحدد specified object يساوي الكائن الحالي current object  أم لا.
Equals(Object)
يسمح للكائن بمحاولة تحرير الموارد free resourcesوإجراء عمليات تنظيف أخرى cleanup operations.
Finalize()
يتم استخدامه ليكون بمثابة وظيفة hash function.
GetHashCode()
تقوم بإرجاع StringBuilder الأساسي.
GetStringBuilder()
تقوم بإرجاع سلسلة string  تحتوي على الأحرف المكتوبة إلى StringWriter الحالي.
ToString()
يتم استخدامه لكتابة سلسلةstring إلى السلسلة الحالية بشكل غير متزامن asynchronously.
WriteAsync(String)
يتم استخدامه لكتابة التمثيل النصي text representation لقيمة منطقية Boolean value إلى السلسلة string.
Write(Boolean)
يتم استخدامه لكتابة سلسلة string  إلى السلسلة الحالية.
Write(String)
يتم استخدامه لكتابة سلسلة string متبوعة بفاصل سطر  line terminator للسلسلة أو stream
WriteLine(String)
يكتب سلسلة string متبوعة بفاصل سطر  line terminator بشكل غير متزامن asynchronously مع السلسلة الحالية. (يتجاوز TextWriter.WriteLineAsync(String).)
WriteLineAsync(String)