Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在数组中查找多个数字_C#_Arrays_Random - Fatal编程技术网

C# 在数组中查找多个数字

C# 在数组中查找多个数字,c#,arrays,random,C#,Arrays,Random,我需要找到数组中包含的多个数字,然后随机选择一个。 这是我的代码: var get = JsonConvert.DeserializeObject<List<int>>(json); var number = get.Where(r => r = 1).FirstOrDefault(); if (number = 1) { //DO SOMETHING } 如何检查array2的编号是否包含在array1中,并仅从现有列表中随机选取一个编号

我需要找到数组中包含的多个数字,然后随机选择一个。 这是我的代码:

 var get = JsonConvert.DeserializeObject<List<int>>(json);
 var number = get.Where(r => r = 1).FirstOrDefault();

 if (number = 1)
 {
     //DO SOMETHING

 }
如何检查array2的编号是否包含在array1中,并仅从现有列表中随机选取一个编号

在这个例子中,由于3和8不在array2中,检查结果[4,10],那么我想随机选择4或10,它们包含在array1和array2中

这些只是一个例子,而不是实际数字。

试试这个:

        var randomValue = array1
            .Where(x => array2.Contains(x))
            .OrderBy(q => Guid.NewGuid())
            .FirstOrDefault();

您可能希望使用“集相交”:

int[]arr1=新的int[]{1,2,4,5,6,7,9,10};
int[]arr2=新的int[]{3,4,8,10};
var intersect=arr1.intersect(arr2);
//intersect={4,10}
现在生成一个介于0和intersect.Count()之间的随机数

在索引位置拾取元素

var randomPick = intersect.ElementAt(randomIndex);

它可以工作,但结果与上面相同,我在控制台“picked X number.picked X number.picked X number.picked X number”中被垃圾信息一次又一次地发送,大约30次(参见编辑的问题),但控制台被包含在for循环中。我错过了一次休息;现在它起作用了。我接受这个答案,因为它更干净,信息更丰富!
Random rand = new Random();
var randomIndex = rand.Next(intersect.Count());
var randomPick = intersect.ElementAt(randomIndex);