C# 如何命名关联的属性和变量?

C# 如何命名关联的属性和变量?,c#,naming-conventions,C#,Naming Conventions,我想创建私有列表,但将其公开为只读\不可写,无法向列表中添加\删除\插入单元格\节点 我目前的解决办法是: public IEnumerable<DataToken> DataTokens { get { return from v in _datatokens select v; } } private List<DataToken> _datatokens; public IEnumerable数据令牌{ 得到{ 从v返回_datat

我想创建私有列表,但将其公开为只读\不可写,无法向列表中添加\删除\插入单元格\节点

我目前的解决办法是:

public IEnumerable<DataToken> DataTokens {
    get {
        return from v in _datatokens select v;
    }
}
private List<DataToken> _datatokens;
public IEnumerable数据令牌{
得到{
从v返回_datatokens选择v;
}
}
私有列表\u数据令牌;
我知道属性的名称很好,但是变量的名称呢?我不能给它命名
dataTokens
,因为它是参数名的格式。目前我称之为
\u datatokens
,这真是个坏名字


有更好的选择吗?我在msdn上找不到任何关于它的信息。

因为标识符在C#中是区分大小写的,所以没有任何东西反对将
数据令牌作为变量名

MSDN上有一个可用的选项,建议它是
dataTokens
(驼峰大小写)

顺便说一句,您应该使用as-return-type使其对外部世界是只读的,因此我建议将其拆分为两个具有不同访问修饰符的属性。

C#还支持自动属性,因此您可以省去解决此难题的麻烦,只需这样声明您的属性

public IEnumerable<DataToken> DataTokens { get; private set; }
public IEnumerable数据令牌{get;private set;}

dataTokens
dataTokens
是C#中的两个不同标识符。您可以将字段命名为
dataTokens
。这不是一个“非常糟糕的名称”,这是基于意见的。@Dirk它是参数名称的格式。这不是CaleNo.@ CordCaster在C++中,那里有尖叫常数,很糟糕。有人可以把结果转换成<代码>列表>代码,然后它就不再是只读了…我需要使用它作为<代码>列表< /代码>。