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

C# 如何从List列表中随机选取并输出10个字符串

解决方案

你只需要把生成随机索引、添加到列表控件的逻辑包裹在10次循环里即可,注意不要把Random的实例化放到循环内部,避免短时间重复实例化生成重复随机值,修改后的代码如下:

listBox1.Items.Clear();
var list = new List<string> { "one", "two", "three", "four" ,"five","six","seven","eight","nine","ten"};
var random = new Random();
// 循环10次执行随机抽取逻辑
for (int i = 0; i < 10; i++)
{
    int index = random.Next(list.Count);
    listBox1.Items.Add(list[index]);
}

如果你的需求是不重复输出所有10个字符串(也就是把列表内所有元素随机排序后输出),可以用Fisher-Yates洗牌算法实现,避免额外的重复判断逻辑:

listBox1.Items.Clear();
var list = new List<string> { "one", "two", "three", "four" ,"five","six","seven","eight","nine","ten"};
var random = new Random();
// 洗牌算法打乱列表顺序
for (int i = list.Count - 1; i > 0; i--)
{
    int j = random.Next(i + 1);
    (list[i], list[j]) = (list[j], list[i]);
}
// 直接遍历打乱后的列表添加到控件
foreach (var item in list)
{
    listBox1.Items.Add(item);
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 06:36:04