如何从数组生成随机字符串列表

时间:2019-07-31 11:06:52

标签: c# .net random

我想从字符串数组中生成5个字符串值的随机列表。
 类型选项。我有一个名为“物品”的string[]

private static string[] Items = new[]
{
    "Widgets", "Wotsits", "Grommits"
};

使用此数组中的选项,我想使用5个随机字符串实例化一个List<string>集合。我正在尝试这样做:

    public List<string> List()
    {
        var r = new Random();
        return Enumerable.Range(1, 5).Select(index => new List<string>()
        {
           Items[r.Next(Items.Length)]

        });
    }

我无法使用它。我遇到的一个问题是我使用了Enumerable.Range,但这会导致类型错误,我无法使用.ToList()来解决。

有办法吗?

1 个答案:

答案 0 :(得分:2)

Select语句中,您正在为每次迭代创建一个新列表,每个列表都有一个随机元素。只需删除new List<string>(){...}部分,然后简单地写Items[rng.Next(Items.Length)]
这样,您将获得List<string>而不是List<List<string>>