使用值c#返回的整数

时间:2011-06-12 21:31:46

标签: c#

我有两个字符串,g1和g2。我随机决定是否使用g1或g2,就像是一个cointoss。我如何去做像g + coin()这样的事情;输出g1或g2,取决于coin()返回什么?

5 个答案:

答案 0 :(得分:2)

如何:

return (coin() == 'heads' ? g1 : g2);

答案 1 :(得分:1)

string SelectOne(string g1, string g2)
{
    return (new Random().NextDouble() > 0.5) ? g1 : g2;
}

答案 2 :(得分:0)

将两者存储在一个数组中:

string[] g = { "g1", "g2" };

然后,滚动一个随机数:

var random = new Random();
int index = random.Next(2);

最后,在该索引处获取字符串:

string choice = g[index];

答案 3 :(得分:0)

您无法在C#中使用本地变量名称(尽管您可以通过反射使用类型成员名称。)

您可以使用普通的if

if (coin() == 1)
    result = g1;
else
    result = g2;

或者您可以使用数组:

var gs = new[] { g1, g2 };
var result = gs[coin() - 1];

答案 4 :(得分:0)

使用此代码:

Random rd = new Random();

string strtouse = "g" + (rd.Next(2) + 1);

现在您可以使用以下代码段

string test = (string)this.GetType().GetField(strtouse).GetValue(this);

虽然这不是实现你想要的好方法。使用词典是一种更好的方法。