首頁  >  文章  >  後端開發  >  C# 字串讀取器

C# 字串讀取器

王林
王林原創
2024-09-03 15:23:101037瀏覽

C#中的StringReader類別派生自TextReader子類,可以使用StringReader類別來操作字串,而這個StringReader類別是使用字串建構的,並且StringReader類別提供了Read和ReadLine方法來讀取字串的部分和數據StringReader類別讀取的是由TextWriter子類派生的StringWriter類寫入的數據,可以使用StringReader類以同步方式或異步方式讀取數據,並使用存在的構造函數和方法執行讀取操作在這堂課上。

文法:

[SerializableAttribute]
[ComVisibleAttribute(true)]
public class StringReader : TextReader

C# StringReader 的工作與建構子

為了理解C#中StringReader類別的工作原理,我們需要了解StringReader類別的建構子和StringReader類別的方法。

  • StringReader(string): StringReader 類別的新實例已初始化,並從指定字串中讀取。

C# StringReader 類別的方法

StringReader 類別有多種方法。它們的解釋如下:

1。 Close(): 可以使用 Close() 方法關閉 StringReader。

2。 Dispose(): TextReader 物件使用的所有資源都可以使用 dispose() 方法釋放。

3。 Equals(Object):Equals(Object)方法用來判斷指定物件是否等於目前物件。

4。 Finalize():物件可以使用 Finalize() 方法釋放自身佔用的資源並執行其他清理操作。

5。 GetHashCode():GetHashCode()方法預設可用作雜湊函數。

6。 GetType(): 使用GetType()方法可以取得目前實例的類型。

7。 Peek(): 可以使用 Peek() 方法傳回下一個可用字符,且該方法不會消耗下一個可用字符。

8。 Read(): 可以使用 Read() 方法讀取輸入字串中的下一個字元。

9。 ReadLine(): 可以使用 ReadLine() 方法讀取目前字串中存在的一行字元。

10。 ReadLineAsync(): 可以使用 ReadLineAsync() 方法非同步讀取目前字串中存在的一行字元。

11。 ReadToEnd(): 使用ReadToEnd()方法可以讀取字串目前位置到字串結束位置的所有字元。

12。 ReadToEndAsync(): 使用 ReadToEndAsync() 方法可以非同步讀取字串中從目前位置到字串結束位置的所有字元。

13。 ToString(): 使用 ToString() 方法傳回表示目前物件的字串。

C# StringReader 的實作範例

以下是 C# StringReader 類別的範例:

範例#1

代碼:

using System;
using System.IO;
namespace Program
{
class Check
{
//calling the main method
static void Main(string[] args)
{
//creating an instance of stringwriter method
StringWriter strng = new StringWriter();
//writing data using stringwriter instance
strng.WriteLine("Hello, welcome to StringReader class");
//closing the instance of stringwriter
strng.Close();
// Creating an instance of stringreader to which the stringwriter instance is passed
StringReader read = new StringReader(strng.ToString());
// data written using stringwriter is read using stringreader
while (read.Peek() > -1)
{
Console.WriteLine(read.ReadLine());
}
}
}
}

輸出:

C# 字串讀取器

在上面的程式中,宣告了一個名為程式的命名空間。然後呼叫main方法。然後建立 StringWriter 方法的實例。使用剛剛建立的 StringWriter 類別的實例寫入資料。這裡寫入的資料是「你好,歡迎來到StringReader類別」。然後使用 Close() 方法關閉 StringWriter 類別的實例。然後建立 StringReader 類別的實例,並將 StringWriter 類別的實例作為參數傳遞給該實例。使用 StringReader 類別的實例讀取使用 StringWriter 類別的實例寫入的數據,並將其顯示在輸出中。

範例#2

C# 程式示範 StringReader 類別的 ReadToEnd() 方法的用法。

代碼:

using System;
using System.IO;
using System.Text;
namespace Program
{
class Check
{
//calling the main method
static void Main(string[] args)
{
//Creating an instance of StringBuilder class
var readall = new StringBuilder();
//appending all the single statements into one through the instance of StringBuilder class
readall.AppendLine("Welcome to StringReader class.");
readall.AppendLine("Lets understand ReadToEnd() method.");
readall.AppendLine("This method displays all the statements right from the beginning.");
//creating an instance of StringReader class
var read = new StringReader(readall.ToString());
//calling the ReadToEnd() method using the instance of StringReader class
string tt = read.ReadToEnd();
Console.WriteLine(tt);
}
}
}

輸出:

C# 字串讀取器

範例 #3

C# 程式示範 StringReader 類別的 Read() 方法的用法。

代碼:

using System;
using System.IO;
namespace Program
{
class Check
{
//Calling the main method
static void Main(string[] args)
{
//A string variable holding a string of characters is defined
var tt = "Welcome to StringReader class.";
//an instance of the stringreader class is created
var read = new StringReader(tt);
//a counter is declared and initialized to zero
int count1 = 0;
//the occurrence of the character to be identified from the statement is assigned to a character variable
char ch = 'e';
//an integer variable is declared
int x;
//Read() method is called and checked if the control has not reached the end of the string or if the string do not exist
while ((x = read.Read()) != -1)
{
char ct = (char) x;
//if the character whose occurrence must be counted is same as the character in the statement while traversing through the statement, the counter is incremented by one
if (ct.Equals(ch))
{
count1++;
}
}
//finally the number of occurrences of the specified character is displayed
Console.WriteLine($"The number of '{ch}' characters in the given statement is {count1}");
}
}
}

輸出:

C# 字串讀取器

結論

在本教程中,我們透過定義、StringReader 類別的建構子和 StringReader 類別的方法來了解 C# 中 StringReader 類別的概念,透過程式設計範例及其輸出示範 StringReader 類別的方法來了解 StringReader 類別的工作原理。

以上是C# 字串讀取器的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn