Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.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#_List_Random - Fatal编程技术网

C# 仅查找列表中的奇数或偶数

C# 仅查找列表中的奇数或偶数,c#,list,random,C#,List,Random,我试图理解如何使用randomint rndIndx=random单独搜索奇数或偶数索引值进入列表=新列表()例如列表的内容: string 0 even string 1 odd string 2 even string 3 odd string 4 even string 5 odd 我不知道当我搜索随机索引到偶数索引时,如果随机值是奇数,如何避免接受一个或另一个不跳过这个过程 另一种方法是,如果我能以某种方式为列表本身搜索奇数索引或单独搜索偶数索引 若我可以通过索引找到字符串,那个么我可

我试图理解如何使用random
int rndIndx=random单独搜索奇数或偶数索引值进入
列表=新列表()例如列表的内容:

string 0 even
string 1 odd
string 2 even
string 3 odd
string 4 even
string 5 odd
我不知道当我搜索随机索引到偶数索引时,如果随机值是奇数,如何避免接受一个或另一个不跳过这个过程

另一种方法是,如果我能以某种方式为列表本身搜索奇数索引或单独搜索偶数索引

若我可以通过索引找到字符串,那个么我可以使用条件
rndIndx%2==0
,但无论如何,若条件的结果不可接受,我可以跳过所需的过程

获得所需结果的最佳方法是,如果我能够以某种方式避免在列表中搜索例外数量的索引,此外,它还可以优化性能,因为在奇数情况下,我没有任何理由在90000个值中查找偶数,即使我可以将其排除,反之亦然。但我不知道怎么做


或者我需要使用while循环重复对随机数的请求,直到该值与搜索类型的数字不匹配,不确定随机获取奇数或偶数索引是否更好,您可以为该范围生成随机数[0,偶数/奇数项的数量),然后使用一些数学方法将实际索引放入列表中。假设第0个索引计数为“偶数”,则应能够将偶数索引计数为
(list.count+1)/2
,将奇数索引计数为
list.count/2
。例如:

var randomEven = Random.Next(0, (list.Count + 1) / 2;
var evenIndex = randomEven * 2;
var randomEvenElement = list[evenIndex];

var randomOdd = Random.Next(0, list.Count / 2);
var oddIndex = randomOdd * 2 + 1;
var randomOddElement = list[oddIndex];

您好,我将把这个解决方案标记为答案,因为我只得到了所需类型的随机数,不需要避免进入列表,如果是随机数。但也很有趣,如何使用字符串Equals值搜索奇数或偶数,避免不需要的数字类型,而不检查每个数字的条件。