gpt4 book ai didi

c# - 从两个 List<> 生成随机数

转载 作者:行者123 更新时间:2023-11-30 21:52:44 24 4
gpt4 key购买 nike

我想从两个列表中生成随机数。我想创建一个函数,我从两个列表中传递多少随机数。

List<int> integers = new List<int>() { 54, 23, 76, 123, 93, 7, 3489 };
List<int> value2 = new List<int>() { 1, 3, 4, 6, 8, 17, 40 };

我想要我的结果 = List<int> result = {54,40,123,17,3,1,3489,76...etc}当我再次运行时,结果集将会改变。目前我正在使用这个返回列表的函数

public static List<int> GenerateRandom(int count)
{
// generate count random values.
HashSet<int> candidates = new HashSet<int>();
while (candidates.Count < count)
{
// May strike a duplicate.
candidates.Add(random.Next(1,30));
}

// load them in to a list.
List<int> result = new List<int>();
result.AddRange(candidates);

// shuffle the results:
int i = result.Count;
while (i > 1)
{
i--;
int k = random.Next(i + 1);
int value = result[k];
result[k] = result[i];
result[i] = value;
}
return result;
}

我正在调用函数

 List<int> vals = GenerateRandom(20);

但我想要来自两个列表<>的随机数List<int> integersList<int> value2 .那我该怎么做。

最佳答案

你可以这样做:

var result = 
integers.Concat(value2)
.OrderBy(x => random.Next())
.Take(count)
.ToList();

关于c# - 从两个 List<> 生成随机数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34512913/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com