我正在monodevelop中编写一个c#winform应用程序,我必须使用属性Lines将多行文本框的几行内容设置为特定的字符串值。 所以我写了这个代码,在Visual Studio中不会产生异常并且没有问题但是在单声道中不起作用:
public string[] newLines = new string[36];
public void Main_Form_Load(object sender, EventArgs e)
{
newLines[3] = "</CsOptions>";
textBox1.Lines = newLines;
}
特别是istruction textBox1.Lines = newLines;
给出nullreferenceexception,当我删除它时,异常到期。
答案 0 :(得分:1)
数组将每个元素初始化为其默认值。在您的情况下,每个元素(类型为string
)初始化为null
,与空字符串{{1} 不同 }。
尽管.NET和mono 都应该兼容,但在这种特殊情况下它们可能不兼容。处理""
属性之间可能存在一些差异,可能的情况是单声道在.NET执行时不检查TextBox.Lines
。
你应该避免像这样null
并始终初始化数组。例如:
null