使用LINQ生成随机数填充的随机大小集合

Sat*_*iel 6 c# linq

我正在学习LINQ,我想知道是否有任何方法可以使用它来实际生成列表,而不仅仅是查询已经生成的列表.所以我有以下代码使用for循环来获得一个随机大小的整数列表并用随机数填充它,无论如何将其转换为LINQ?

var ret = new List<int>();
for (var i = 0; i < _rand.Next(100); i++)
    ret.Add(_rand.Next(10));
Run Code Online (Sandbox Code Playgroud)

Bro*_*ass 10

你可以这样做:

Random _rand = new Random();
var results = Enumerable.Range(0, _rand.Next(100))
                        .Select(r => _rand.Next(10))
                        .ToList();
Run Code Online (Sandbox Code Playgroud)

  • 因为我们不需要空数组 - `Enumerable.Range` 实际上在内部不做任何分配,它只是使用延迟执行生成一个整数范围 (2认同)