Time of Update: 2016-05-31
標籤:C#基礎之記憶體配置1.建立一個對象 一個對象的建立過程主要分為記憶體配置和初始化兩個環節。在.NET中CLR管理的記憶體地區主要有三部分:棧、GC堆、LOH堆,棧主要用來分配實值型別資料。它的管理是有系統控制的,而不是像GC堆那樣是由GC控制的。當線程執行完實值型別執行個體所在方法後,這塊空間將會被自動釋放,一般棧的執行效率高不過容量有限。GC堆用來分配小對象執行個體,它是由GC完全控制記憶體的分配和回收。LOH堆則是為大對象執行個體準備的,它不會被壓縮且只在GC完全回收時才會回收。在
Time of Update: 2016-05-31
標籤:1. 可空類型修飾符(?): 參考型別可以使用Null 參考表示一個不存在的值,而實值型別通常不能表示為空白。 例如:string str=null; 是正確的,int
Time of Update: 2016-05-30
標籤:1.Math.Round:四捨六入五取偶引用內容Math.Round(0.0) //0Math.Round(0.1) //0Math.Round(0.2) //0Math.Round(0.3) //0Math.Round(0.4) //0Math.Round(0.5) //0Math.Round(0.6) //1Math.Round(0.7) //1Math.Round(0.8) //1Math.Round(0.9)
Time of Update: 2016-05-30
標籤:.NETTCP自動更新程式有如下幾步驟:第一步:服務端開啟監聽ServiceHost host; private void button1_Click(object sender, EventArgs e) { host = new ServiceHost(typeof(WCFService.Service)); host.Open(); if (host.State ==
Time of Update: 2016-05-30
標籤:引用地址:http://www.jb51.net/article/54185.htm本文執行個體匯總了C#中@的用法,對C#程式設計來說有不錯的借鑒價值。具體如下:一 字串中的用法1.學過C#的人都知道C# 中字串常量可以以@ 開頭聲名,這樣的優點是逸出序列“不”被處理,按“原樣”輸出,即我們不需要對逸出字元加上 \ (反斜扛),就可以輕鬆coding。如, 1string filePath =
Time of Update: 2016-05-30
標籤:一、擷取當前檔案的路徑1. System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName 擷取模組的完整路徑,包括檔案名稱。2. System.Environment.CurrentDirectory 擷取和設定目前的目錄(該進程從中啟動的目錄)的完全限定目錄。3.
Time of Update: 2016-05-30
標籤:1.1 三層架構簡介 假如你在經營一個大飯店,大體上你會請三方面的人,一方面是負責飯店服務的服務員,一方面是負責烹飪、做飯的廚師,一方面是負責飯店蔬菜、肉類、調料等的採購員。如果你這樣做了,那麼飯店管理起來,就好比較好管理(簡單來說)。比如任何一方面的員工出現請假或離職的情況,可以找其他的服務員、廚師或採購員代替。在企業中這種職責分離、業務獨立的部門劃分方法對於管
Time of Update: 2016-05-30
標籤:六種類型的約束:T:結構型別參數必須是實值型別。可以指定除 Nullable 以外的任何實值型別。有關更多資訊,請參見使用可空類型(C# 編程指南)。T:類型別參數必須是參考型別,包括任何類、介面、委託或數群組類型。T:new()型別參數必須具有無參數的公用建構函式。當與其他約束一起使用時,new() 約束必須最後指定。T:<基類名>型別參數必須是指定的基類或派生自指定的基類。T:<介面名稱>型別參數必須是指定的介面或實現指定的介面。可以指定多個介面約束。
Time of Update: 2016-05-30
標籤:真是書到用時方恨少,平時都是完成任務,書都是看個前面幾章就扔書櫃了。。。。今天看了部落格園一篇文章《我們為什麼應該堅持寫部落格》,很有感觸,覺得人生不能得過且過,以前為了各種原因,家庭,孩子,其實有很多都是借口,自己心裡清楚。現在孩子慢慢長大,當我督促她學習的同時,也為自己渾渾噩噩的幾年感到有些羞恥。既然如此,那就開始吧,開工沒有回頭箭,既然不討厭編程,既然選擇了程式員這條路,那就堅定地走下去吧,堅持部落格,是我對自己的第一個要求。先鞏固一下基礎知識,從C# in
Time of Update: 2016-05-30
標籤: /// <summary> /// DataTable分頁並取出指定頁碼的資料 /// </summary> /// <param name="dtAll">DataTable</param> /// <param name="pageNo">頁碼,注意:從1開始</param> /// <param
Time of Update: 2016-05-29
標籤:在新接觸的項目中,看到很多聲明變數時用var。只記得在javascript中聲明變數用var。今天在家裡看C#和.Net進階編程,看到隱式變數這一塊,就總結一下C# 中隱式變數var的用法。1.C#可以使用var關鍵字建立隱式類型的本地變數,使用var關鍵字不必指定具體的資料類型,編譯器會根據本機資料點的初始值來自動推斷實際的資料類型。2.隱式類型變數var的限制: (1)隱式類型只能用於方法或屬性範圍內的本地變數,不能用於定義傳回值,參數或自訂類型的欄位資料。 (
Time of Update: 2016-05-28
標籤:關於集合的練習。 ----->計算字串每個字元出現的次數。 Console.WriteLine("請輸入?"); string input = Console.ReadLine(); Dictionary<char,int> dic=new Dictionary<char, int>(); for (int i = 0; i
Time of Update: 2016-05-28
標籤:上一節我們實現了向指定的隊列發送和接收訊息。這一節,我們主要講工作隊列,用於在多個消費者之間分配置即時任務。工作隊列方式主要是為了防止在執行一個耗費資源的任務時,要等待其結束才能處理其它事情。我們將任務的執行延遲,將其封裝成一個訊息,然後發送給一個列隊。後台再運行一個程式從隊列裡取出訊息,然後執行任務。如果有多個消費者,還可以分享任務。對於Web應用程式來說,這樣就可以使用Http的短請求來處理複雜的業務。準備我們發送一個字串來代表複雜的任務,然後用Thread.Sleep()來類比耗時操
Time of Update: 2016-05-31
標籤:前幾天看了《程式員的自我修養——連結、裝載與庫》中的第二章“編譯和連結”,主要根據其中的內容簡單總結一下C程式編譯的過程吧。我現在一般都是用gcc,所以自然以GCC編譯hellworld為例,簡單總結如下。 hello.c原始碼如下:/* 何問起 hovertree.com */ int main() { printf(“Hello, world.\n”); return 0;
Time of Update: 2016-05-31
標籤:c語言 技能 教學 實訓 運行程式 在初學C語言的一個學期後,我們進行了C語言階段,嘗試編寫各種類型的程式。在為期一個周時間中,我的感受是:C語言實訓和平時上課所接觸的成有很多不同,所經受的考驗和克服的困難和平時的相差不大,遇到不會做的題同學互相討論,互相協助,共同解決,攻克了C語言的複雜程式,我感觸良多。 &
Time of Update: 2016-05-30
標籤:很多時候,出現一些類似GNU,GCC,CLANG,LLVM等與編譯器有關的名詞的時候,都不太清楚它到底是幹嘛的,理解這些東西後,對於xcode中很多配置型的需求修改起來都會得心應手,因此有必要瞭解透徹他們直接的關係與區別。1 GUN “GNU,名稱來自Gnu‘s Not
Time of Update: 2016-05-29
標籤:題目大意:某個人在N個銀行的存款和借款總和為0,這N個銀行排成一個圓環,每次轉賬只能在相鄰的兩個銀行之間進行。問進行多少次轉賬能使每個銀行的存款為0.題目保證總和一定是0。有兩個理論基礎需要先說明。一個總和為0的長度為N的區間內至多轉賬N-1次就可以使每個賬戶存款為0。因此只要找出總和為0的區間個個數最多設為W,那麼答案就是N-W一個區間總和為零的充要條件是,第一個元素之前的首碼和等於最後一個元素截止的首碼和。#include <iostream>#include
Time of Update: 2016-05-29
標籤: 由於船移動的速度都一樣,那麼對於往一個方向的船相對距離其實是不變的,我們可以把往一個方向移動的船都視作靜止,並求出在哪些觀測位置可以看到,很明顯對於船[x,y,z],當x+z>=y-z的時候,可以在[y-z,x+z]這些位置觀測到它,這些位置的觀測數全都+1,然後考慮不同方向,假設初始在x位置觀測往右的船,在y位置觀測到往左的船,只要x<=y,則經過一段時間的移動,必然存在一個位置可以同時觀測到x位置和y位置能觀測到的船。複雜度O(nlogn)。 代碼 1
Time of Update: 2016-05-29
標籤: binutils-- a tools set* ld - the GNU linker.* as - the GNU assembler.* addr2line - Converts addresses intofilenames and line numbers.* ar - A utility for creating, modifyingand extracting from archives.* c+filt - Filter to demangle encoded
Time of Update: 2016-05-28
標籤:c和指標1.注釋: (1)/* **** */ 不能嵌套,並且有時候在一段程式中就有注釋,編譯會出問題。 (2)#if 0 statements #endif 可以彌補第一種注釋的不足。2.聲明的作用:只需要編寫一次,易於維護和修改,消除了在多份拷貝中出現寫法不一致的機會。3.#define 指令給字面值常量取名的好處:增加了代碼可讀性而且便於代碼修改4.(指標)雙重間接訪問:比如:**p 650)