使用变量调用另一个变量

本文关键字:变量 另一个 调用 | 更新日期: 2023-09-27 18:08:48

所以我是c#的新手,我需要知道我想做的是可能的,这里是我所拥有的,

public static class Sempre
{    
    public static string Raca = "";
}
// Sempre.Raca - can use like this

现在我要做的是设置一个变量,比如thing = "example",然后调用Sempre,但是变量是Sempre.thing,因为它是一个变量,所以它实际上是Sempre。example。

与我在php中的用法相同,
$example = mean;
$_SESSION['name'.$example];
would create $_SESSION [namemean];

使用变量调用另一个变量

你可以用索引器设置你的字体。http://msdn.microsoft.com/en-us/library/6x16t2tx.aspx。要使用索引器,需要有实例类,而不是静态类。如果你真的需要,你可以使用单例模式来获得"静态"行为。

下面是一个使用索引器的例子:

public class Sempre
{
    private Dictionary<string, string> _values = new Dictionary<string, string>();
    public string this[string key]
    {
        get { return _values[key]; }
        set { _values[key] = value; }
    }
}

你可以这样使用:

Sempre sempre = new Sempre();
sempre["example"] = "my value";
string thing = "example";
Console.WriteLine(sempre[thing]);

一般来说,c#中的对象不能这样做,因为代码在运行前已经预编译过了。

如果你特别寻找http会话状态的实现,就像你在PHP代码的例子,那么这可以做到。会话状态暴露在system . web . sessionstate . httpessionstate,可以通过连接字符串访问,就像你的例子中这样。

String example = "mean";
Session["name" + example] = 'bar';
//Session["namemean"] is now set to value of 'bar'

如果您只想做字符串替换,您也可以这样做:

public class StringConstants
{
    public static string YES = "yes";
    public static string NO = "no";
}

然后在其他地方

public void printmessage(bool value)
{ 
    if (value)
    {
    Console.writeline (string.Format "I Say {0}", StringConstants.YES);
    }
    else
    {
     Console.writeline (string.Format "I Say {0}", StringConstants.NO);
    } 
}

关于字符串的文档。插入和合成的格式在这里