我正在对一系列104个字符长的特定序列进行排列。我使用plinq生成序列,但如果没有随机顺序,结果永远不会复杂到可以选择。
问题是orderby与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
}
您正试图用同一个查询解决两个截然不同的问题。即使有一个聪明的方法,我也建议你一步一个脚印。
首先,生成一个非随机排列。然后,在前面的结果上应用一些随机排列算法。你可以试试非常简单的Knuth Shuffle。
您的意图将更加清晰,分解可以在测试和调试中为您带来显著优势。