【问题标题】:property lines of a textbox in C# using Monodevelop使用 Monodevelop 在 C# 中文本框的属性行
【发布时间】:2013-02-18 20:58:09
【问题描述】:

我正在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;
    }

特别是指令textBox1.Lines = newLines;给出一个空引用异常,当我删除它时,异常过期。

【问题讨论】:

  • “删除”是什么意思?
  • 用“//”设置为评论的广告示例
  • newLines 还是 NewLines?你有两个
  • newLines 我在这里抄写代码时犯了一个错误

标签: c# winforms monodevelop


【解决方案1】:

数组将每个元素初始化为其默认值。在您的情况下,每个元素(类型为 string初始化为 null,这与空字符串 ""不同

虽然 .NET 和单声道 应该 兼容,但在这种特殊情况下,它们可能不兼容。两者在处理TextBox.Lines 属性方面可能存在一些差异,一个可能的情况是mono 不检查null 而.NET 会。

您应该避免像这样使用null,并始终初始化数组。例如:

for(int i = 0; i < newLines.Length; i++){
    newLines[i] = "";
}

【讨论】:

  • 谢谢你,Alvin,所以你告诉我我必须将数组初始化为空字符串,然后更新为这些行的特定值?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-31
  • 2010-11-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多