You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C#中从预定义字符串列表生成随机字符串?

解决方案

你需要用Random.Next()方法生成一个有效范围内的随机索引,再通过索引从列表中取出对应的字符串。另外注意不要每次调用方法都实例化Random,否则短时间内多次调用可能生成重复的随机数。

修正后的完整代码

// 把Random实例声明为类的成员变量,避免重复实例化导致的重复随机数
private Random rnd = new Random();

string RandomPowerSentence()
{
    List<string> powerStrings = new List<string>()
    {
        "You are kind!",
        "You are beautiful!",
        "You are smart!"
    };

    // 生成0到列表长度-1之间的随机索引
    int randomIndex = rnd.Next(powerStrings.Count);
    // 通过索引获取随机字符串
    return powerStrings[randomIndex];
}

关键说明

  • Random.Next(int maxValue):生成一个大于等于0且小于maxValue的随机整数,这里传入powerStrings.Count,刚好覆盖列表的所有有效索引(列表索引从0开始)。
  • 把Random实例放在方法外:如果每次调用方法都new Random(),系统会用当前系统时钟作为种子,短时间内多次调用会生成相同的随机序列,导致每次返回的字符串都一样。

内容的提问来源于stack exchange,提问作者Lee Shapira

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 11:55:20