要扩展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的功能。