将变量转换为常量
本文关键字:常量 转换 变量 | 更新日期: 2023-09-27 18:23:48
Can看起来很奇怪,但有没有一种方法可以将变量声明或转换为constante,比如:
string myVariable = "MyString";
const string myConstant = myVariable ;
我需要这个来回答我的问题:linq到sql以性能索引列启动
感谢
没有办法做到这一点,因为Const
Const值在编译时直接烧入调用站点,相反,您可以将其设为readonly
并在构造函数中分配
类似的东西
string myVariable = "MyString";
readonly string myConstant="test" ;
public MyClass()
{
myConstant= myVariable ;
}
否,不能使用变量的值初始化常量。
常量在编译时必须是已知的,而变量的值直到运行时才知道,这在概念上是不可能的。
否则,将第一个变量更改为如下常量:
const string myVariable = "MyString";
const string myConstant = myVariable ;
myConstant
,在这种情况下,不设置myVariable
。
常量不能变化,因为它们不是变量。将其设置为变量会使其变化。因此答案是否定的,至少在运行时不会。
也许你只是想要一些不能在很多地方设置的东西,那么只读可能会起作用。
参考:http://msdn.microsoft.com/en-us/library/acdd6hb7.aspx
public readonly string _myROString = "set once";
这是不可能的。但有人找到了我最初问题的答案,而不是一成不变的。谢谢linq到sql启动性能索引列
此答案不会为发布的问题提供解决方案;但可能满足一些喜欢以静态方式访问字符串的观众的要求,这些字符串应该附加其他字符串,
public enum NameTypes
{
First, Last
}
public static class UserDetails
{
public static string NameText = "Name Info: " + NameTypes.First.ToString();
}