[英]Find multiple numbers in array
我需要找到数组中包含的多个数字,然后随机选择一个。 这是我的代码:
var get = JsonConvert.DeserializeObject<List<int>>(json);
var number = get.Where(r => r = 1).FirstOrDefault();
if (number = 1)
{
//DO SOMETHING
}
如何从另一个数组中包含的数组列表中随机选择一个数字?
例如:
array1 = [1, 2, 4, 5, 6, 7, 9, 10]
array2 = [3, 4, 8, 10]
如何检查 array2 的数字是否包含在 array1 中并仅从现有列表中随机选择一个数字?
在示例中,检查结果为 [4, 10],因为 3 和 8 不在 array2 中,然后我想随机选择 4 或 10,它们包含在 array1 和 array2 中。
这些只是一个例子,而不是实际数字。
尝试这个:
var randomValue = array1
.Where(x => array2.Contains(x))
.OrderBy(q => Guid.NewGuid())
.FirstOrDefault();
您想使用 set intersect:
int[] arr1 = new int[] { 1, 2, 4, 5, 6, 7, 9, 10 };
int[] arr2 = new int[] { 3, 4, 8, 10 };
var intersect = arr1.Intersect(arr2);
//intersect = {4, 10}
现在生成一个介于 0 和 intersect.Count() 之间的随机数
Random rand = new Random();
var randomIndex = rand.Next(intersect.Count());
在 position randomIndex 处选取元素
var randomPick = intersect.ElementAt(randomIndex);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.