如何随机选择一个字符串

时间:2009-09-09 05:57:10

标签: c# random

单击按钮时,字符串应显示为输出ex。 good morninggood afternoon。如何使用C#随机选择要显示的字符串?

3 个答案:

答案 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();

这里的好处是ElementAtCount具有针对数组和List对象的优化版本,而算法被推广用于所有有限集合类型。

答案 2 :(得分:2)

试试这个,

Random random = new Random();
string[] weekDays = new string[] { "Sat", "Sun", "Mon", "Tue", "Wed", "Thu", "Fri" };
Response.Write(weekDays[random.Next(6)]);

您只需要一个字符串数组和一个从数组中提取值的随机数。