繁体   English   中英

如何随机选择一个字符串

[英]How to randomly select a string

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

自从我使用C#进行编程以来已经过了几年(3-4),但这不够简单和优雅:

string randomPick(string[] strings)
{
    return strings[random.Next(strings.Length)];
}

您还应该检查输入数组是否为null

您可以定义一个扩展方法来选择任何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();

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

尝试这个,

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM