Time of Update: 2015-08-14
標籤:c++11 並發 mutex 上一節中介紹了mutex的基本使用方法,使用mutex來保護共用資料並不能解決race
Time of Update: 2015-08-14
標籤:5.4 對象的效率 (Object Efficiency) 在以下的效率測試中,物件建構和拷貝所需要的成本是以Point3d class聲明為基準,從簡單形式逐漸到複雜形式,包括Plain Ol‘ Data,抽象資料類型(ADT),單一繼承,多重繼承,虛擬繼承,以下函數是測試的主角:Point3d lots_of_copies(Point3d a, Point3d b) {
Time of Update: 2015-08-14
標籤:C語言第12輪:指標 【學習目標】1. 指標2. 指標與數組 A: 指標的概念 記憶體儲存單元按位元組排序。每一個位元組編有序號。我們稱之為地址。因為能夠通過地址就能夠找到所要的記憶體單元,所以我們把地址成為指標。指標是個特殊的變數,它裡面儲存的數
Time of Update: 2015-08-15
標籤:一、預備知識—程式的記憶體配置 一個由C/C++編譯的程式佔用的記憶體分為以下幾個部分 1、棧區(stack)— 由編譯器自動分配釋放 ,存放函數的參數值,局部變數的值等。其 操作方式類似於資料結構中的棧。 2、堆區(heap)
Time of Update: 2015-08-15
標籤:建議29:區別LINQ查詢中的IEnumerable<T>和IQueryable<T>LINQ查詢一共提供了兩類擴充方法,在System.Linq命名空間下,有兩個靜態類:Enumerable類,它針對繼承了IEnumerable<T>介面的集合進行擴充;Queryable類,它針對繼承了IQueryable<T>介面的集合類進行擴紮。介面IQueryable<T>也是繼承了IEnumerable<T>介面的,所以,致
Time of Update: 2015-08-15
標籤:上次寫了一篇文章 基於networkcomms V3通訊架構的c#伺服器與java用戶端進行通訊之Protobuf探討 其中沒有解決粘包問題,拋磚引玉,文章得到了失足程式員 老師的點評,並給出瞭解決方案:[最多評論]java netty socket庫和自訂C#socket庫利用protobuf進行通訊完整執行個體(10/591) »於是馬上開始學習,並把c#伺服器端換成了我比較熟悉的networkcomms v3
Time of Update: 2015-08-14
標籤:5.3 對象複製語意學 (Object Copy Semantics) 當設計一個 class,並以一個 class object指定給 class object時,有三種選擇: 1.什麼都不做,因此得以實施預設行為. 2.提供一個 explicit copy assignment operator.
Time of Update: 2015-08-15
標籤:建議31:在LINQ查詢中避免不必要的迭代無論是SQL查詢還是LINQ查詢,搜尋到結果立刻返回總比搜尋完所有的結果再將結果返回的效率要高。範例程式碼: class MyList : IEnumerable<Person> { //為了示範需要,類比了一個元素集合 List<Person> list = new List<Person>() { new
Time of Update: 2015-08-15
標籤:Jint 嵌入式的javascript指令碼支援引擎,一直都在更新,對各種方法支援也比較好,可以 C# 互動.https://github.com/sebastienros/jint Jurassic 嵌入式的javascript指令碼支援引擎,很久都沒有更新了,和 jint很類似,穩定性還可以,可以 C# 互動.http://jurassic.codeplex.com/ IronPython
Time of Update: 2015-08-15
標籤:來自:http://www.soaspx.com/dotnet/csharp/csharp_20120926_9646.html如果使用C#代碼來刪除檔案或是檔案夾。會將檔案和檔案夾直接刪除,而不是刪除到資源回收筒。可以調用Microsoft.VisualBasic.dll提供的方法。首先對項目添加名為Microsoft.VisualBasic.dll的引用,然後添加命名空間using
Time of Update: 2015-08-15
標籤:建議28:理解延遲求值和主動求值之間的區別要理解延遲求值(lazy evaluation)和主動求值(eager evaluation),先看個例子: List<int> list = new List<int>() { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; var temp1 = from c in list where c > 5 select c; var
Time of Update: 2015-08-14
標籤:建議27:在查詢中使用Lambda運算式LINQ實際上是基於擴充方法和Lambda運算式的。任何LINQ查詢都能通過擴充方法的方式來代替。var personWithCompanyList = from person in personList select new { PersonName = person.Name, CompanyName = person.CompanyID==0?"Micro":"Sun" };foreach
Time of Update: 2015-08-14
標籤:建議26:使用匿名型別儲存LINQ查詢結果從.NET3.0開始,C#開始支援一個新特性:匿名型別。匿名型別有var、賦值運算子和一個非空初始值(或以new開頭的初始化項)組成。匿名型別有如下基本特性:即支援簡單類型也指出複雜類型。簡單類型必須是一個非空初始值,複雜類型則是一個以new開頭的初始化項。匿名型別的屬性是唯讀,沒有屬性設定器,它一旦被初始化就不可更改。如果兩個匿名型別的屬性值相同,那麼就認為這兩個匿名型別相等。匿名型別可以再迴圈中用作初始化器。匿名型別支援智能感知。匿名型別可以擁
Time of Update: 2015-08-14
標籤:c# directory類 考試的時候有這樣一些簡單的題:1.把a檔案從b檔案夾移動到c檔案夾2.在a檔案夾中建立b.lnk3.刪除a檔案夾中的b......這一系列的題,如何判斷考生是否做對了呢?一.歸總題型對於windows操作題,我們歸總了一下分為:1.new一個新的檔案(excel,word,jpg),一個新的檔案夾,一個新的lnk2.delete3.remove4.read
Time of Update: 2015-08-15
標籤:編程題#4:尋找平面上的極大點來源: POJ (Coursera聲明:在POJ上完成的習題將不會計入Coursera的最後成績。)注意: 總時間限制: 1000ms 記憶體限制:
Time of Update: 2015-08-15
標籤:編程題#3:尋找山頂來源: POJ (Coursera聲明:在POJ上完成的習題將不會計入Coursera的最後成績。)注意: 總時間限制: 1000ms 記憶體限制:
Time of Update: 2015-08-15
標籤:編程題#2: 配對堿基鏈來源: POJ (Coursera聲明:在POJ上完成的習題將不會計入Coursera的最後成績。)注意: 總時間限制: 1000ms 記憶體限制:
Time of Update: 2015-08-15
標籤:編程題#1:含k個3的數來源: POJ (Coursera聲明:在POJ上完成的習題將不會計入Coursera的最後成績。)注意: 總時間限制: 1000ms 記憶體限制: 65536kB描述輸入二個正整數m 和 k,其中1 < m < 100000,1 < k <5 ,判斷m 能否被19整除,且恰好含有k個3,如果滿足條件,則輸出YES,否則,輸出NO。例如,輸入:43833 3滿足條件,輸出YES如果輸入39331
Time of Update: 2015-08-14
標籤:編程題#3:運算子判定來源: POJ (Coursera聲明:在POJ上完成的習題將不會計入Coursera的最後成績。)注意: 總時間限制: 1000ms 記憶體限制: 65536kB描述兩個整數 a 和 b 運算後得到結果 c。表示為:a ? b = c,其中,?可能是加法 +,減法 -,乘法 *,整除 / 或 取餘 %。請根據輸入的 a,b,c 的值,確定運算子。如果某種運算成立,則輸出相應的運算子,如果任何運算都不成立,則輸出
Time of Update: 2015-08-14
標籤:編程題#2:字串中次數第2多的字母來源: POJ (Coursera聲明:在POJ上完成的習題將不會計入Coursera的最後成績。)注意: 總時間限制: 1000ms 記憶體限制: 65536kB描述輸入一串長度不超過500個符號的字串,輸出在串中出現第2多的英語字母(大小寫字母認為相同)和次數(如果串中有其它符號,則忽略不考慮)。如果有多個字母的次數都是第2多,則按串中字母出現的順序輸出第1個。例 ab&dcAab&c9defgb這裡,a 和