這種結果的原因在於,Random()函數的預設種子是時間,但在迴圈中產生隨機數時,由於運算速度太快,用做種子的時間是相同的(毫秒級),因此產生的隨機數序列是相同的,這樣最終的隨機數就會相同。(基於“線性同餘法”的隨機數發生器) 解決方案是,產生一個通用唯一識別碼,使用它的雜湊值來做種子產生隨機數。代碼如下: 複製代碼 代碼如下: using System; using System.Collections.Generic; using System.Linq; using
複製代碼 代碼如下:using System; using System.IO; using System.Text.RegularExpressions; using System.Threading; using System.Windows.Forms; using System.Net; namespace TrojanScanning { public partial class Form1 : Form { public Form1() { InitializeComponent()
複製代碼 代碼如下:using System; using System.Collections; using System.Text; using System.IO; using System.Collections.Specialized; using System.Text.RegularExpressions; using System.Diagnostics; namespace CSS { public class App { public static void
包括系統鉤子和線程鉤子,或者叫全域鉤子和私人鉤子。系統鉤子需要一個單獨的DLL,這個地方耽誤了不少時間,網上有說可以不用單獨DLL的。 現在開始貼代碼,代碼參照了紅黑聯盟中的一篇文章。 複製代碼 代碼如下: public class SetHook { public class HookTypes { /// <summary> /// 鉤子類型 /// </summary> public enum HookType { WH_JOURNALRECORD =
賦值運算子也有和算數操作符所結合的用法之前附錄中有提及,用法是:比如要將x加上4,然後再賦值給x,就可以寫成x+=4. 複製代碼 代碼如下: public class MathOps{ public static void main(String [] args){ Random rand=new Random(47); int i,j,k; j=rand.nextInf(100)+1; System.out.println("j:"+j); k=rand.nextInt(100)+1;
WebToolkit類: 複製代碼 代碼如下: using System; using System.Net.Sockets; using System.Text; namespace ConsoleApplication1 { class WebToolkit { /// <summary> /// Url結構 /// </summary> struct UrlInfo { public string Host; public int Port; public