我想在一个名为Constantes的类中的变量中创建我的所有固定字符串,它将如下所示:
class Constantes
{
public static sealed String var1 = "variable 1";
public static sealed String var2 = "variable 2";
}
在其他课堂上我这样做:
class main
{
...
list.add(Constantes.var1);
list.add(Constantes.var2);
}
我知道在vb.net中我们可以通过使用模块来实现这一点,但在c#中我不知道怎么做。
答案 0 :(得分:3)
上课static
:
public static class Constantes
{
public static string var1 = "variable 1";
public static string var2 = "variable 2";
}
也许让你的成员const
如果你想让它们保持不变(const
基本上是你不能覆盖的静态成员)
public static class Constantes
{
public const string var1 = "variable 1";
public const string var2 = "variable 2";
}
readonly
是另一种可能性,但这是针对运行时的,所以如果它们是真正的常量,const
允许编译时优化(而readonly
只会在运行时优化)
顺便说一句,对于我认为你的目标,你应该阅读Resources,看看是否更合适
答案 1 :(得分:3)
如果我没有误读问题,请使用const
关键字:
static class Constantes
{
public const String var1 = "variable 1";
public const String var2 = "variable 2";
}
答案 2 :(得分:3)
使类静态并放入readonly关键字
public static class Constantes
{
public static readonly string var1 = "variable 1";
public static readonly string var2 = "variable 2";
}
答案 3 :(得分:1)
使用const
关键字定义常量。
class Constantes
{
public const String var1 = "variable 1";
public const string var2 = "variable 2";
}
请注意static sealed
无效 - sealed
仅适用于虚拟行为。如果您希望某些内容永远不可更改(当然const
不适合),请改用readonly
。
模块是底层CLR的构造,但在C#中,每个程序集只包含一个模块,并且没有办法定义不同的模块。 编辑但是,它们不相同的VB Module
。关于这些差异的See MSDN for more details