c# 很少有基本的“最佳实践”初学者的问题
1)这两行有什么区别?我可以用同样的方式访问它们:
public string ShortName;
//and
public string ShortName { get; set; }
2)什么时候在c#中使用像java这样的getter,什么时候使用像c#这样的getter。 我看到c# 本身使用java 风格,如GetType
//Like Java:
public string GetShortName(){
return _shortName
}
//Like c#:
public string ShortName { get { return _shortName; } set;}
3) 命名私有成员的通用约定是什么?
私有字符串_shortName; //或者 私有字符串短名称;
4)命名常量的通用约定是什么?
public const string SHORT_NAME;
//or
public const string ShortName;
5) 在什么情况下你会选择将多个类放入一个 .cs 文件中?
6) 您命名空间的名称是否与文件夹结构不同?
谢谢
1) What is the difference between these 2 lines? I can access them the same way:
public string ShortName;
//and
public string ShortName { get; set; }
2) When do you use in c# getters like java and when do you use like c#.
I saw that the c# itselfe use the java style, like GetType
//Like Java:
public string GetShortName(){
return _shortName
}
//Like c#:
public string ShortName { get { return _shortName; } set;}
3) What is the common convention to name your private members?
private string _shortName;
//or
private string shortName;
4) What is the common convention to name your constants?
public const string SHORT_NAME;
//or
public const string ShortName;
5) In what cases do you choose put more than one class in one .cs file?
6) Do you name your namespaces different than your folder structure?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
1.) 和 2.) 属性的一个很酷的事情是您可以在访问器中做一些好的事情。例如
,当成员不是值类型而是某个类时,这会变得更有趣。因此,虽然属性可以让您控制函数,但它可以像公共成员一样使用。您还可以将 set 访问器设置为内部、受保护甚至私有。
3.)、4.) 和 6.) 有许多命名约定。请参阅 Microsoft 的
5.) 不。从长远来看,这会给你带来麻烦。一个例外是嵌套(私有)类。
1.) and 2.) The cool thing about properties is that you can do nice things in the accessors. E.g.
This gets more interesting when the member is not a value type but some class. So while a properties gives you the control of a function it can be used like a public member. Also you can make the set accessor internal, protected or even privat.
3.), 4.) and 6.) There are many naming conventions. See for Microsoft's
5.) Don't. This will get you in trouble in the long run. One exception to this are nested (privat) classes.
1)第一个是字段,第二个是(自动实现的)属性。最佳实践是使用属性来公开值,而不是字段。
2)属性实现了getter和setter,你不必编写java风格的getter和setter方法并假装它们属于一起。
3)和4)都被使用。
5)当你想再次查找类时,最好是坚持每个文件一个类。
6)通常不会。
1) The first is a field, the second is an (auto implemented) property. Best practice is to use properties to expose values, not fields.
2) Properties implement getters and setters, you don't have to write javastyle getter and setter methods and pretend they belong together.
3) and 4) both are used.
5) when you want to find the class again, best is to stick to one class per file.
6) usually not.