c# - 使用 Monodevelop 在 C# 中的文本框的属性行

标签 c# winforms monodevelop

我在 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;给出一个空引用异常,当我删除它时,异常过期。

最佳答案

数组将每个元素都初始化为其默认值。在您的例子中,每个元素(属于 string 类型)都被初始化为 null,这与 不同空字符串 "".

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

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

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

关于c# - 使用 Monodevelop 在 C# 中的文本框的属性行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14936682/

相关文章:

c# - 正 System.Double 值的快速下限和上限替代方案

c# - 在另一个函数中调用表单加载事件

c# - 浮点值在 Int 中丢失

c# - 如何滚动到列表框的底部?

c# - PropertyGrid,设计者与运行时的行为有何不同?

c# - Gtk# 中是否有文件夹浏览器小部件?

node.js - nodemon 应用程序崩溃 - 等待文件更改

c# - 为什么静态 Configuration.GetSection() 不可用?

WinForms LinkLabel DisabledLinkColor 属性不起作用?

c# - Xamarin Studio,GTK 2.0 C# 应用程序,运行时错误,无法加载 libglib-2.0-0.dll