[英]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.