我想从字符串数组中生成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()来解决。
有办法吗?
答案 0 :(得分:2)
在Select
语句中,您正在为每次迭代创建一个新列表,每个列表都有一个随机元素。只需删除new List<string>(){...}
部分,然后简单地写Items[rng.Next(Items.Length)]
。
这样,您将获得List<string>
而不是List<List<string>>
。