這種結果的原因在於,Random()函數的預設種子是時間,但在迴圈中產生隨機數時,由於運算速度太快,用做種子的時間是相同的(毫秒級),因此產生的隨機數序列是相同的,這樣最終的隨機數就會相同。(基於“線性同餘法”的隨機數發生器) 解決方案是,產生一個通用唯一識別碼,使用它的雜湊值來做種子產生隨機數。代碼如下: 複製代碼 代碼如下: using System; using System.Collections.Generic; using System.Linq; using
複製代碼 代碼如下:using System; using System.IO; using System.Threading; using System.Windows.Forms; using System.Net; namespace TrojanMonitor { public partial class Form1 : Form { public Form1() { InitializeComponent(); } delegate void
C#預設情況下,若常數運算式的值超過了目標類型的最大值,將會導致編譯錯誤。若目標資料類型不能容納非常數運算式的資料,那麼資料在賦值時會被截斷。複製代碼 代碼如下: class Program { static void Main(string[] args) { int n = int.MaxValue;//n=2147483647 n = n + 1; System.Console.WriteLine(n); } }
C#物件導向的基本原則 一、面向介面編成而不是實現 [Code to an interface rather than to an implementation.] 二、優先使用組合而非繼承 [Favor Composition Over Inheritance.] 三、SRP: The single responsibility principle 單一職責 系統中的每一個對象都應該只有一個單獨的職責,而所有對象所關注的就是自身職責的完成。[Every object in your
C 判斷判斷結構要求程式員指定一個或多個要評估或測試的條件,以及條件為真時要執行的語句(必需的)和條件為假時要執行的語句(可選的)。C 語言把任何非零和非空的值假定為 true,把零或 null 假定為 false。下面是大多數程式設計語言中典型的判斷結構的一般形式:判斷語句C 語言提供了以下類型的判斷語句。點選連結查看每個語句的細節。 語句 描述 if 語句 一個 if
賦值運算子也有和算數操作符所結合的用法之前附錄中有提及,用法是:比如要將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