我正在对一系列长度为104个字符的特定序列进行排列。我正在使用plinq来生成序列但没有随机顺序,结果永远不会复杂到足以被选中。
问题是使用rnd.next命令并且guid.newguid填充内存并且不返回任何结果。
有没有任何解决方案可以从C#中的linq模式中随机选择?
var query =
from sp1 in polar
...
from vp15 in polar
where GetCompressionRatio(sp1+...+vp15)>1.5
orderby rnd.Next(0, 100000000) * rnd.Next(0, 100000000)
select sp1+...+vp15;
foreach (var element in query)
{
//output
}
答案 0 :(得分:1)
您正在尝试使用相同的查询解决两个非常不同的问题。即使有一个聪明的方法,我建议你一步一步。
首先,生成非随机排列。 然后,对先前的结果应用一些随机排列算法。您可以尝试非常简单的Knuth Shuffle。
您的意图将更加清晰,分解可以为您提供测试和调试方面的显着优势。