C#提供了一种获取第一个匹配条目的索引的方法:
int first = myList.IndexOf(myList.Min())
以及获取最后一个索引的方法:
int last = myList.LastIndexOf(myList.Min())
获取匹配值的随机索引的最简单方法是什么,例如:
int anyOldOne = myList.RandomIndexOf(myList.Min())
您可以获取所有索引并选择一个随机索引:
// Do this once only
var rnd = new Random();
// Do this each time you want a random element.
var key = myList.Min();
var indices = mylist
.Select((n,index) => new { n, index })
.Where(x => x.n == key)
.Select(x => x.index)
.ToList();
int anyOldOne= indices[rnd.Next(indices.Count)];
当然,用一种方法看起来会更好。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句