给定一个特定DateTime值,我如何显示相对时间,如:
private const int TheAnswer = 42;
Run Code Online (Sandbox Code Playgroud)
但有时我们需要从Windows API中表示已存在的常量.
例如,我不知道如何命名:
/// <summary>
/// With this style turned on for your form,
/// Windows double-buffers the form and all its child controls.
/// </summary>
public const int WS_EX_COMPOSITED = 0x02000000;
Run Code Online (Sandbox Code Playgroud)
我该怎么命名呢?
保持它WS_EX_COMPOSITED可以让我快速将它与WinAPI相关联,但这是错误的.
一些选择:
WsExComposited - 太匈牙利人了Composited - 太短WsExenum with Compositedin it - 仍然是匈牙利人ExtendedWindowsStyles.Composited - 班级常数?枚举?应该指出的是,良好命名的目标是:
你们有什么感想?常量应该大写吗?或者这是一个古老的做法?所以...
const int MY_CONSTANT = 5;
Run Code Online (Sandbox Code Playgroud)
与
const int myConstant = 5;
Run Code Online (Sandbox Code Playgroud) 1)声明变量的政策是什么?你应该总是使用关键字private,还是可以跳过它?
string MyVar1;
Run Code Online (Sandbox Code Playgroud)
与
private string MyVar1;
Run Code Online (Sandbox Code Playgroud)
我看到的唯一原因是Microsoft有一天可以更改默认访问修饰符public而不是private.
在哪里说私人是可选的?对MSDN的任何引用?
2)常量的命名策略?
在写一个常量时我总是使用大写字母,但是一位朋友告诉我这违反了微软的命名政策,是吗?
const string MYVAR1;
Run Code Online (Sandbox Code Playgroud)
VS
const string myVar1;
Run Code Online (Sandbox Code Playgroud)
3)Pascal还是Camel?
我个人认为骆驼看起来很丑陋.
您在C#中使用哪种命名约定用于本地常量?为什么?
const int Pi = 3;
const int pi = 3;
Run Code Online (Sandbox Code Playgroud)
似乎权衡是在较低的驼峰案例之间进行权衡,表明限制范围,而较高的驼峰案例更易读,更容易移到班级.我注意到StyleCop喜欢上骆驼箱.
可能重复:
常量的C#命名约定?
我正在用C#重构一个库,我发现了很多大写常量:
INTERVAL, TIME, SECONDS.
Run Code Online (Sandbox Code Playgroud)
我认为这是一种不必要的,我个人更喜欢用骆驼案声明一切.关于更好的方式存在一些确切的定义?
如何在c#中构建一组常量变量?
例如 :
IconType {
public constant string folder = "FOLDER";
public constant string application = "APPLICATION";
public constant string system = "SYSTEM";
}
Run Code Online (Sandbox Code Playgroud)
然后我需要像这样使用IconType.system,但我不想做像IconType type = new IconType()这样的声明,我想方向访问它的变量.
它看起来像java中的JOptionPanel,当我想显示图标时我只需要调用这个JOptionPane.WARNING_MESSAGE
我在c#中有一个switch case语句,这里我作为私有常量的所有情况,这里有任何不好的编程实践,或者我需要在这里使用枚举和case case中的枚举器.我在这里展示了三个常量,我有十个常数和十个案例块
private const String FEASIBLESIZE = "Total FEASIBLESIZE";
private const String AVAILABLESIZE = "Total AVAILABLESIZE";
private const String EXCESSSIZE = "Total EXCESSSIZE";
.
.
switch (value.ToString())
{
case FEASIBLESIZE:
Level.Add(TEAMSIZE, test.ToString());
break;
case AVAILABLESIZE:
Level.Add(BROADSIZE, test.ToString());
break;
case EXCESSSIZE:
Level.Add(NARROWSIZE, test.ToString());
break;
.
.
.
Run Code Online (Sandbox Code Playgroud) 如果只需要在一个方法内使用常量,那么你应该在方法中还是在字段中声明它?
另外,如果你应该在方法中声明它,那么你应该使用小写或大写的第一个字母作为名称吗?
编辑:这不是重复,因为我问你是否应该在你的方法或字段中声明const.
对于那些在C#中使用下划线前缀用于私有类成员的人(即private int _count;),你对私有常量使用了什么?我正在考虑以下内容,但我很好奇其他人在做什么.
private const int _MaxCount;
Run Code Online (Sandbox Code Playgroud)