将变量转换为常量

本文关键字:常量 转换 变量 | 更新日期: 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();
}