Time of Update: 2018-12-05
1:Params 1 public static void UseParams(params object[] list) 2 { 3 for (int i = 0; i < list.Length; i++) 4 { 5 Console.WriteLine(list[i]); 6 } 7 } 8 9 static void Main()10 {11 // 一般做法是先構造一個對象數組,然後將此數組作為方法的參數12 object[] arr =
Time of Update: 2018-12-05
這幾天有個中學生問我怎麼求一元二次方程的根,我一下子還真傻了,不知道從何下手, 那時候我記得我永遠都記不住公式,考試的時候花了大把時間還去推算公式,結果推算出來的公式經常是少了加號或減號。這次又去推算公式,弄出來之後,
Time of Update: 2018-12-05
最近在做項目時,發現在實現一些接近作業系統底層功能的時候,顯得力不從心啊,而且在項目中用了一很多第三方的東西,很大一部分與硬體在打交道,覺得有必須重新溫習一下c++(拋棄“她”三年了啊),想想還是重歸於好吧! 特以此次“旅行”來記錄我曾經失去的美好! 廢話不多說,寫吧! 概念重溫 :"聲明"與“定義” 這二個概念有必須解釋一下
Time of Update: 2018-12-05
.Net Framework
Time of Update: 2018-12-05
c#中非同步基於訊息通訊的完成連接埠的TCP/IP協議的組件實現(原始碼)http://blog.csdn.net/zhiang75/archive/2004/08/16/75915.aspx上面的Socket Visual 2005調試通過代碼經典例子http://blog.pfan.cn/Csharpsky/23159.html C#網路編程(非同步傳輸字串)http://www.cnblogs.com/JimmyZhang/archive/2008/09/16/1291854.html
Time of Update: 2018-12-05
有些資訊在儲存時,並不需要佔用一個完整的位元組, 而只需占幾個或一個二進位位。例如在存放一個開關量時,只有0和1 兩種狀態,用一位二進位即可。為了節省儲存空間,並使處理簡便,C語言又提供了一種資料結構,稱為“位域”或“位段”。所謂“位域”是把一個位元組中的二進位劃分為幾個不同的地區,並說明每個地區的位元。每個域有一個網域名稱,允許在程式中按網域名稱進行操作。 這樣就可以把幾個不同的對象用一個位元組的二進位位域來表示。其形式為: struct 位域結構名 { 位域列表
Time of Update: 2018-12-05
本篇繼續介紹WaitHandler類及其子類Mutex,ManualResetEvent,AutoResetEvent的用法。.NET中線程同步的方式多的讓人看了眼花繚亂,究竟該怎麼去理解呢?其實,我們拋開.NET環境看線程同步,無非是執行兩種操作:一是互斥/加鎖,目的是保證臨界區代碼操作的“原子性”;另一種是號誌操作,目的是保證多個線程按照一定順序執行,如生產者線程要先於消費者線程執行。.NET中線程同步的類無非是對這兩種方式的封裝,目的歸根結底都可以歸結為實現互斥/加鎖或者是號誌這兩種方式
Time of Update: 2018-12-05
文章目錄 發現自己手寫完之後呢就能記住很多,寫部落格其實是在讓自己記憶的更加深刻,進而提高。在以後的日子看看自己以前寫的東西也是一種享受。 泛型,在我聽別人描述的時候我就產生了一個概念。就好像英語的 a,在英語中我們可以a XX,比如a apple(一個蘋果),a Donkey(一頭驢),a Washing machine(一台洗衣機)。而不必像漢語這樣規定死了一個蘋果一頭驢一台洗衣機。全用a代替了。
Time of Update: 2018-12-05
引子:委託是一種類型,它的地位與class 、struct、enum等是一樣的,我們可以這樣說:在任何一個可以聲明class的地方都可以聲明一個delegate。我們經常將委託與事件放在一起去理解,其實這隻是委託的一個應用。要想理解委託必須透過現象究其本質,委託到底是幹什麼用的?現象:public delegate void MyDelegate();public delegate string MyDelegate(string
Time of Update: 2018-12-05
int[] arr = new int[] { 1, 5, 6, 9, 2, 45, 36 };//任意數組 Recursion(arr, arr.Length - 1); foreach (var item in arr) { Console.WriteLine(item); } /// <summary> /// 遞迴遍曆 /// </summary&
Time of Update: 2018-12-05
最近研究了一下C#.NET的委託與事件這些東西,通過園子多篇文章的學習,基本上有了一個瞭解,現將一些基本的事件研究代碼貼出來,分享一下,也希望大家能夠多多指點。 代碼Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->using System;using System.Collections.Generic;using
Time of Update: 2018-12-05
一個簡單的定義指定了變數的類型和標識符,它並不提供初始值。如果一個變數是在全域域global scope 內定義的,那麼系統會保證給它提供初始值0 。 打個比方,定義變數 Code highlighting produced by Actipro CodeHighlighter
Time of Update: 2018-12-05
.Net Framework提供了Thread類,它可以建立和控制線程。Thread的構造方法可接受一個無參無傳回值的委託型別參數,或一個有object型別參數無傳回值的委託型別參數。 1、簡單的Thread類執行個體先建立兩個方法,分別用於兩個線程處理: 1: static void ThreadMethod1() 2: { 3: for (int j = 0; j < 20; j++) 4: { 5:
Time of Update: 2018-12-05
通過任務,可以指定在任務完成後,應開始運行另一個特定任務。任務處理常式或者不帶參數或者帶一個對象參數,而連續處理常式有一個Task類型的參數。下面先定義兩個任務: 1: static void FirstTaskMethod() 2: { 3: Console.WriteLine(String.Format("Task {0} is doing something", Task.CurrentId)); 4: Thread.Sleep(200); 5: }
Time of Update: 2018-12-05
代碼風格檢查:StyleCop代碼缺陷檢查:FxCop代碼品質: 程式碼度量值/Code MetricsStyleCop介紹The StyleCop tool provides warnings that indicate style and consistency rule violations in C# code. The warnings are organized into rule areas such as documentation, layout, naming,
Time of Update: 2018-12-05
非同步實現即多線程,一種簡單的方式就是建立一個委託,然後非同步呼叫它。 .Net Framework已經為我們提供了委託的非同步呼叫方法。下面介紹三種使用委託實現非同步方法。 1、投票(IsCompleted屬性)首先定義一個委託: 1: public delegate string MyDelegate(int
Time of Update: 2018-12-05
任務也可以構成一個階層。一個任務啟動一個新任務時,就啟動了一個階層。下面的程式碼片段在父任務內部建立一個任務。建立子任務的代碼與建立父任務的代碼相同,唯一的區別是這個任務從另一個任務內部建立: 1: static void Main(string[] args) 2: { 3: Task parentTask = new Task(ParentTask); 4: parentTask.Start(); 5: 6: Console.Read();
Time of Update: 2018-12-05
說到參數傳遞,必須得弄清實值型別和參考型別:(為了容易表達,我暫且命名存放在堆中的內容為堆中對象,存放在棧上的內容為棧中對象。)實值型別存放在棧中,直接存取。如果有:int a=0;int b=a;就產生了兩個棧中對象。參考型別需要在堆中顯式分配,且不能直接存取,需要在棧中分配一個棧中對象(C++叫指標,C#叫引用)指向其堆中對象。如果:StringBuilder strb = new StringBuilder();StringBuilder strb2 =
Time of Update: 2018-12-05
Web Service是可操作的分布式應用程式。它以SOAP作為基本通訊協定,使用HTTP和XML進行可以穿越防火牆的自由通訊錯誤提示:* 出現 訪問 IIS 中繼資料庫失敗 * iis 無法顯示XML解決:開始->程式->Microsoft Visual Studio 2005->Visual StudioTools中開啟命令列,輸入命令: aspnet_regiis -i
Time of Update: 2018-12-05
1、C#如何為winform程式打包發布應用(圖解教程) http://www.vegoo.net/info/71620_5075.htmlhttp://xgli0910.blog.163.com/blog/static/4696216820097493811102/2、c#串連access2007資料庫<add name="corun" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=d:\App_Data\