单击按钮时,字符串应显示为输出ex。 good morning
或good afternoon
。如何使用C#随机选择要显示的字符串?
答案 0 :(得分:13)
自从我使用C#进行编程以来已经过了几年(3-4),但这并不是这么简单。足够优雅:
string randomPick(string[] strings)
{
return strings[random.Next(strings.Length)];
}
您还应该检查输入数组是否不是null
。
答案 1 :(得分:6)
您可以定义一个扩展方法来选择任意IEnumerable
的随机元素(包括字符串数组):
public static T RandomElement<T>(this IEnumerable<T> coll)
{
var rnd = new Random();
return coll.ElementAt(rnd.Next(coll.Count()));
}
用法:
string[] messages = new[] { "good morning", "good afternoon" };
string message = messages.RandomElement();
这里的好处是ElementAt
和Count
具有针对数组和List对象的优化版本,而算法被推广用于所有有限集合类型。
答案 2 :(得分:2)
试试这个,
Random random = new Random();
string[] weekDays = new string[] { "Sat", "Sun", "Mon", "Tue", "Wed", "Thu", "Fri" };
Response.Write(weekDays[random.Next(6)]);
您只需要一个字符串数组和一个从数组中提取值的随机数。