簡體   English   中英

在數組中查找多個數字

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM