C 中使用Random方法時需要注意的問題

2021-05-18 02:08:43 字數 346 閱讀 1699

最近碰到個很有趣的問題,以前沒做過這種專案所以沒發現random()方法竟然會生成相同的隨機資料。先貼個圖吧:

左側是預設的使用random方法生成的隨機字串,竟然會重複,也就是說.net的自帶隨機函式其實是使用一定的演算法結合當前的時間去生成乙個隨機數的。因為我的輸出過快導致在相同的時間使用random方法生成的數字相同,所以生成的字串也一樣了。怎麼辦呢,通過使用random(seed)的seed變數也讓相同的時間生成的字串不同。我貼上兩個方法,後面的方法是不會生成重複字串的方法。

這裡的tick引數是我隨便給的乙個數,因為對於每次生成字串它都是變化的,所以最後生成字串就不會重複了。

分享出來,希望對你有所幫助。

WinCE中使用C 時使用WndProc方法的處理

在使用c 為wince程式設計時,有時需要override乙個方法 wndproc。比如用它來監視是否有u盤插入或拔除。但在wince下,並不能直接override它。它需要引用兩個命名空間 using system.windows.forms using microsoft.windowsce.f...

C 中使用巨集需要注意的規範

如 define rectangle area a,b a b define rectangle area a,b a b 主要原因就是由於巨集替換的時候只是簡單的字元替換,如果我們不使用完備的括號,那麼很有可能或造成結果和我們想要得到的表示式不同.在某種程度上帶參的巨集定義與函式有幾分類似。但是必...

delphi中使用override需要注意的地方

在override時,如果override的是procedure,則加上關鍵字inherited 就會執行父類同名procedure的所有過程,然後再執行子類中特有的過程。如果override的是function則不會執行父類中同名function的內容。但是,可以通過下面的方法來執行父類的內容 例...