簡體   English   中英

查找列表中的奇數或偶數數字

[英]Lookup only for odd or even numbers into the list

我試圖理解如何用隨機int rndIndx = random.Next(0, 6);分別搜索奇數或偶數索引int rndIndx = random.Next(0, 6); 值列入the List<string> List = new List<string>(); 例如列表的內容:

string 0 even
string 1 odd
string 2 even
string 3 odd
string 4 even
string 5 odd

我不確定當我在偶數索引中搜索隨機值時,如果隨機值為奇數,如何避免接受一個或另一個不跳過進程

另一種方式,如果我可以某種方式只搜索奇數或單獨搜索列表本身的偶數索引。

如果我可以通過索引找到字符串,那么我可以使用條件rndIndx % 2 == 0但是無論如何我可以跳過所需的過程如果結果不能接受條件

獲得所需結果的最佳方法是,如果我能以某種方式避免在列表中搜索例外數量的索引,另外它可以優化性能,因為在Odd的情況下我沒有任何理由尋找偶數到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];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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