ASP.NET Web应用程序中常量的一些示例或用法是什么?

时间:2009-06-11 14:05:05

标签: c# asp.net

一旦我开始编程C#(ASP.NET),我就会对限制性常量感到惊讶。到目前为止,我没有太多使用它们,我觉得我错过了这个概念。你们如何在典型的ASP.NET应用程序中使用常量?

如何声明常量struct,例如System.Drawing.Color

readonly无法使用时,你会使用const吗?

我想知道人们如何使用constreadonly并讨论替代方案。

3 个答案:

答案 0 :(得分:1)

常量用于定义程序中不应更改的内容,但需要多次引用。

const int SLEEP_TIME = 500; //500 MS = .5 Seconds
//Do Something
Thread.Sleep(SLEEP_TIME);
//Do Something else
Thread.Sleep(SLEEP_TIME);
//Do yet another something.

现在,如果你想改变SLEEP_TIME,你可以在一个地方完成。

对于常量结构,我通常使用枚举

enum State
{
   Stopped = 0,
   Running = 1,
   Paused = 2
}

Readonly对于需要分配一次的引用非常有用

private static readonly Logger = new TextLogger();

如果您需要更改某些内容(例如:将某些内容初始化为null,然后更改它),则根据定义它不能是const。

答案 1 :(得分:1)

根据我的经验,我发现我认为很多事情都是不变的,实际上并非如此。我最终使用了很多外部设置文件来保存信息(如果颜色发生变化,谁想要重新编译网站?)

那就是说,我发现常量非常适合处理数组索引。它有助于澄清他们的意图。例如......

//not readable - variable names don't help either
string a = (string)source[0];
int b = (int)source[1];
bool c = (bool)source[2];

与常数相同的事情......

const int 0 = NAME_COLUMN;
const int 1 = AGE_COLUMN;
const int 2 = IS_ADMIN_COLUMN;

//even with bad variable names, we know what they are
string a = (string)source[NAME_COLUMN];
int b = (int)source[AGE_COLUMN];
bool c = (bool)source[IS_ADMIN_COLUMN];

答案 2 :(得分:1)

检查一下,一些答案可能会帮助你......

When, if ever, should we use const?