0

关于 c# 最佳实践的几个问题:

我更愿意这样做的任何理由:

var list = new List<string>();
object[] array = list.ToArray<object>();
comboBox.AddRange(array);

代替:

var list = new List<string>();
comboBox.AddRange(list.ToArray<object>());

还有我更愿意这样做的任何原因:

class myClass 
{
    private string _hello;

    public string Hello
    {
        get {return _hello;}
        set {_hello = value;}
    }
}

代替:

class myClass 
{
    public string Hello;
}
4

1 回答 1

1

您的第一个示例只是创建一个中间变量来保存转换后的数组 - 如果您以后不需要该数组,那么它们在逻辑上是等价的。

你的第二个问题是一个更显着的区别。属性比字段有很多优势,包括 get/set 访问器中的潜在逻辑、绑定到 UI 控件(大多数控件可以绑定到属性但不能绑定到字段。

一般来说,任何公共数据成员都应该作为属性而不是字段来实现。 非公共数据成员可以作为任何一种实现。

SO上有很多答案可以回答您的第二个问题。

于 2013-09-05T14:08:21.223 回答