草庐IT

伪随机码

全部标签

c# - 使用 XmlSerializer 反序列化随机/未知类型

这个问题在这里已经有了答案:DeserializeXMLToObjectusingDynamic(1个回答)关闭7年前。我正在使用XmlSerializer与服务通信。这不是常规的SOAP服务,它有自己的XML对象类型。例如,我可能会要求对象,但它可能返回.因此,换句话说,我必须处理随机的XML文档类型。但是,我知道我必须处理哪些类型。我正在尝试做的是找到一种通用方法来序列化/反序列化这些文档。问题是XmlSerializer需要在创建阶段知道类型。这些没有封装在公共(public)根元素中,因此创建一个基类并使用[XmlInclude]属性在这种情况下不起作用:[XmlInclude

c# - 通过 2TB 文件的文件偏移量随机读取许多 300 字节 block 的最快方法?

我在RAID5(4x7.2k@3TB)系统上有一些2TB只读(创建后不可写入)文件。现在我有一些线程想要读取该文件的部分内容。每个线程都有一个它需要的block数组。每个block都由要读取的文件偏移量(位置)和大小(通常约为300字节)寻址。读取这些数据最快的方法是什么。我不关心CPU周期,(磁盘)延迟才是最重要的。因此,如果可能的话,我想利用硬盘的NCQ。由于文件是高度压缩的并且会随机访问,而且我知道确切的位置,所以我没有其他方法可以优化它。我应该将文件读取集中到一个线程吗?我应该让文件保持打开状态吗?如果每个线程(可能大约30个)都同时打开每个文件,那么(来自网络服务器的)新线程

c# - 跨平台随机数生成器

当您需要能够从种子生成随机数,并保证它在不同版本的.NETFramework和MonoFramework以及不同的体系结构(x86、x64)中是相同的数字时,你是做什么的?我目前正在考虑将数百万个随机字节存储在一个文件中以用作此问题的临时解决方案,但我认为可能有更好的方法(希望不要太复杂)。 最佳答案 如果您需要真正可移植的实现,最好的选择可能是只使用自定义随机数生成器,例如MersenneTwisterimplementation或ColinGreen'sFastRandomNumberGenerator.通过控制实现,您可以保证

c# - 获取随机颜色

这个问题在这里已经有了答案:HowtogeneraterandomcolornamesinC#(16个答案)关闭7年前。您知道生成随机颜色(不是随机颜色名称!)的方法吗?我已经有了一个,但是这个做的不正确:这只返回绿色:Randomr=newRandom();BackColor=Color.FromArgb(r.Next(0,256),r.Next(0,256),0);这只返回红色:Randomr=newRandom();BackColor=Color.FromArgb(r.Next(0,256),0,0);这只返回蓝色:Randomr=newRandom();BackColor=Co

c# - 随机播放列表算法

我需要以随机顺序创建一个范围内(例如从x到y)的数字列表,以便每个顺序都有均等的机会。我用C#编写的音乐播放器需要这个,以随机顺序创建播放列表。有什么想法吗?谢谢。编辑:我对更改原始列表不感兴趣,只是从随机顺序的范围中选取随机索引,以便每个顺序都有均等的机会。这是我到目前为止写的内容:publicstaticIEnumerableRandomIndexes(intcount){if(count>0){int[]indexes=newint[count];intindexesCountMinus1=count-1;for(inti=0;i0){intcurrIndex=random.Ne

c# - HtmlAgilityPack 和 Selenium Webdriver 返回随机结果

我正在尝试从网站上抓取产品名称。奇怪的是,我似乎只随机抓取了12个项目。我已经尝试了HtmlAgilityPack和HTTPClient,我得到了相同的随机结果。这是我的HtmlAgilityPack代码:usingHtmlAgilityPack;usingSystem.Net.Http;varurl=@"http://www.roots.com/ca/en/men/tops/shirts-and-polos/";HtmlWebweb=newHtmlWeb();vardoc=web.Load(url,"GET",proxy,newNetworkCredential(PROXY_UID,

c# - 来自种子的随机数

我有一个应用程序,如果我的程序使用具有基于其种子的模式的RNG,它会变得非常引人注目,因为它会根据景观的x坐标构建景观。如果您每次都调用Next(),Random效果很好,但每次使用相同的输入时我都需要能够获得相同的输出,因此可以'依赖Next()。相反,我尝试每次使用输入种子简单地创建一个新的Random。这不是个好主意,我知道,事实证明了。模式非常明显,高值和低值交替出现,整个景观的整体趋势明显。我不想每次都制作新的生成器,但即便如此,我还是研究了加密安全的RandomNumberGenerator看看我是否至少可以暂时使用它。不过,正如预期的那样,我无法为它播种,因此没有任何可重

c# - c#生成一系列加起来为N的随机数

如何在C#中生成30个1-9之间的随机数,所有这些数加起来等于200(或任意N)?我正在尝试生成一串可以加在一起为N的数字。 最佳答案 我不确定这方面的统计数据是什么,但是,这里的问题是您不想随机选择一个数字,这使得无法通过超调或欠调将N与M个条目相加。以下是我的做法:staticvoidMain(){intcount=30;int[]numbers=getNumbers(count,155);for(intindex=0;indextotal||UPPERBOUNDUPPERBOUND?UPPERBOUND:calc;result

c# - 从目录中选择随机文件

我在C#中看过一些示例,但到目前为止还没有,在目录下选择随机文件的最佳方法是什么?在这种特殊情况下,我想每隔15分钟左右从“C:\wallpapers”中选择一张墙纸。谢谢。 最佳答案 获取数组中的所有文件,然后随机取一个varrand=newRandom();varfiles=Directory.GetFiles("c:\\wallpapers","*.jpg");returnfiles[rand.Next(files.Length)]; 关于c#-从目录中选择随机文件,我们在Stac

c# - 选择随机字符

我有一些字符:chars="$%#@!*abcdefghijklmnopqrstuvwxyz1234567890?;:ABCDEFGHIJKLMNOPQRSTUVWXYZ^&".ToCharArray();现在我正在寻找一种从这些中返回随机字符的方法。我找到了一个可能有用的代码:staticRandomrandom=newRandom();publicstaticcharGetLetter(){//Thismethodreturnsarandomlowercaseletter//...Between'a'and'z'inclusize.intnum=random.Next(0,26);