我一直在使用Visual Studio中的以下语句将随机值添加到我的数据库中,它可以很好地处理两个值。
Random rd;
TextBox_Language.Text = rd.Next(2) == 0 ? "EN" : "FR";
现在我需要的不仅仅是两个字符串而且我已经尝试了下面的代码,但这并不起作用。有没有人提示如何解决它?
TextBox_Language.Text = rd.Next(3) == 0 ? "EN" : "FR" : "DE"; // doesn't work
答案 0 :(得分:4)
您尝试扩展条件运算符的方式会使其变得不必要地复杂化。您可以将值放在string array
中,并使用该数组的 index 作为索引来获取字符串。
string []valuesArray = new string[] {"EN", "FR", "DE"};
TextBox_Language.Text = valuesArray[rd.Next(valuesArray.Length)];
注意:此方法允许您使用随机数给出任意数量的元素。使用List将使其更加灵活。您可以随时添加/删除任何元素,而不像数组。
List<string> valuesList = new List<string> {"EN" , "FR" , "DE"};
valuesList.Add("FE"); //Added one more element
string s = valuesList[rd.Next(valuesList.Count)];
答案 1 :(得分:0)
您可以使用临时变量,然后级联? :
运算符。
int temp = rd.Next(3);
TextBox_Language.Text = temp == 0 ? "EN" : temp == 1 ? "FR" : "DE";