C#中的正统表示法/命名方式

时间:2014-01-06 20:10:11

标签: c# coding-style

我已经阅读了有关命名约定的msdn网站,但没有“终极”示例显示何时使用大写字母或lowerCase字母。

  1. 我应该使用大写字母来命名私有非静态字段ip(下方)吗?
  2. 如果它是静态字段,我应该使用字母吗?
  3. 第3。任何人都可以发布一个C#代码的正统样本。(没有C ++,Java或任何其他语言的基础)?在Java编程很长一段时间后,我感到非常困惑。

     public partial class VideoStream : UserControl {
            private String IP; //should I use Camel or Pascal here?
            public VideoStream() {
                InitializeComponent();
            }
    
            public VideoStream(String ip) {
                IP = ip;//it looks weird
            }
    }
    

4 个答案:

答案 0 :(得分:4)

private字段应始终位于驼峰符号中。通常,您的类暴露出来的所有内容都应该是 pascal符号,所以如果您的静态字段是private,那么它应该是骆驼符号,否则应该在中帕斯卡符号。

参考:MSDN

答案 1 :(得分:2)

我会将你推荐给Framework Design Guidelines,但老实说,我们并没有严格遵循这些规则。对于私有,非静态字段,我们使用以下划线开头的驼峰大小写,例如_myIntVar。在你的情况下,它是_ip。如果您真的关心您可能选择的任何约定,我建议您使用Resharper

FWIW,我不喜欢这样一个事实:当谈到.NET中的网络/套接字时,微软的命名不一致。例如,他们使用IPAddressTcpListenerUdpClient。我项目中与套接字相关的所有代码都使用TcpXxxTCPXxx,因此我会首选IpAddress来保持一致性。

答案 2 :(得分:0)

 private string _ip;
 public string Ip 
 { 
   get { return _ip;} 
   set { _ip = value;} 
 } 

答案 3 :(得分:0)

添加我的评论作为答案:

我看到_Variable命名的支持字段非常多(注意下划线)。 _IP = ip;看起来稍微不那么尴尬。您还可以进一步了解this._IP = ip;只是为了进一步明确。

为什么要附上看似随机的要求?它来自哪里有什么关系?这是一个惯例,无论如何,C#的大多数约定都将继承或受其他语言的影响。