如何为抽象类对象使用未分配的局部变量
本文关键字:分配 局部变量 抽象类 对象 | 更新日期: 2023-09-27 18:26:53
我的文本框有一个text_changed函数。我希望我的软件读取一个字符,并检查它是否是序列字符'/n'。由于顺序字符被认为是单个字符,我尝试使用TextReader.Equals('''n'),但出现了一个错误,显示
使用未分配的本地变量"读取器"
TextReader是一个抽象类。我试图使用TextReader reader = new TextReader
初始化它,但出现了一个错误,说我无法初始化抽象类。
private void textBox1_TextChanged(object sender, EventArgs e)
{
System.IO.TextReader reader;
if(reader.Equals(null))
{
his_Textbox.Text = My_Textbox.Text;
}
}
请告诉我我能做些什么来阻止这个错误。
您需要用TextReader的具体实现来初始化它,比如StringReader。
其次,也许您不了解C#中的引用类型。变量只是一个对象的引用(指针)。没有初始化,就没有对象,只有一个空变量。
尝试:
using(var reader = new System.IO.StringReader(whateverText)) {
//...
}
http://msdn.microsoft.com/en-us/library/system.io.stringreader(v=vs.110).aspx
但根据你的需要,你甚至可能不需要一个读者。只需使用正则表达式或字符串API来搜索文本框。