当前位置: 首页 > 编程语言 > C#

关于洗刷所需的IEnumerable的扩展方法

时间:2023-04-10 16:17:51 C#

关于洗刷所需的IEnumerable的扩展方法我需要一个扩展IEnumerable的扩展方法。它还可以使用int来指定返回的IEnumerable的大小。最好保持IEnumerable不可变。我当前的IList解决方案-publicstaticIListShuffle(thisIListlist,intsize){Randomrnd=newRandom();varres=newT[大小];资源[0]=列表[0];for(inti=1;inew{Number=r.Next(),Item=x}).OrderBy(x=>x.Number).Select(x=>x.Item).Take(size);//假设第一个@size项目是好的returnshuffledList.ToList();}Anton明白了,但你可以把它变成两个类轮:publicstaticIEnumerableShuffle(thisIEnumerableenumerable){varr=newRandom();返回enumerable.OrderBy(x=>r.Next()).ToList();不幸的是,它不能被延迟评估,因为r在执行时会超出范围您可以创建一个IEnumerable实现来包装此代码并返回它,但这会变得更加复杂。以上就是C#学习教程:洗刷所需的IEnumerable扩展方法分享的全部内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: