要擴展C# StringReader的功能,可以通過繼承StringReader類并添加自定義方法或屬性來實現。以下是一個簡單的示例:
using System;
using System.IO;
public class CustomStringReader : StringReader
{
public CustomStringReader(string s) : base(s)
{
}
public string ReadNextWord()
{
string word = "";
int nextChar;
while ((nextChar = this.Read()) != -1)
{
char c = (char)nextChar;
if (char.IsWhiteSpace(c))
{
if (!string.IsNullOrEmpty(word))
{
break;
}
}
else
{
word += c;
}
}
return word;
}
}
class Program
{
static void Main()
{
CustomStringReader reader = new CustomStringReader("Hello World");
Console.WriteLine(reader.ReadNextWord()); // Output: Hello
Console.WriteLine(reader.ReadNextWord()); // Output: World
}
}
在上面的示例中,我們創建了一個CustomStringReader類,繼承自StringReader,并添加了一個自定義方法ReadNextWord,用于讀取下一個單詞。在Main方法中,我們實例化了CustomStringReader并使用ReadNextWord方法來讀取字符串中的單詞。
除了上面的示例,你還可以根據需求添加其他自定義方法或屬性來擴展StringReader的功能。