Time of Update: 2018-12-06
struct都能被class所代替,
Time of Update: 2018-12-06
從序言中,大家應該對委託和事件的重要性有點瞭解了吧,雖然說我們現在還是能模糊,但是從我的大白話系列中,我會把這些概念說的通俗易懂的。首先,我們還是先說說委託吧,從字面上理解,只要是中國人應該都知道這個意思,除非委託2個中文字不認識,舉個例子,小明委託小張去買車票。
Time of Update: 2018-12-06
什麼是事件?EVENT?點擊事件?載入事件?一連串的模糊的概念衝擊著我們弱小的腦袋那我們首先來看一下比較正統的感念吧:事件是類在發生其關注的事情時用來提供通知的一種方式。事件的發生一般都牽扯2個角色事件發行者(Publisher):一個事件的發行者,也稱作是寄件者(sender),其實就是個對象,這個對象會自我維護本身的狀態資訊,當本身狀態資訊變動時,便觸發一個事件,並通知說有的事件訂閱者。事件訂閱者(Subscriber):對事件感興趣的對象,也稱為Receiver,可以註冊感興趣的事件,在事
Time of Update: 2018-12-06
Const 定義的是靜態常在對象初始化的時候賦值.以後不能改變它的值.屬於編譯時間常量。不能用new初始化。Readonly 是唯讀變數.屬於運行時變數.可以在類constructor裡改變它的值.不能作用於局部變數。const 和 static 不能在一起用,它已經是靜態了。我們都知道,const和static
Time of Update: 2018-12-06
總結得非常全面,所以全文轉載,原文:http://www.cnblogs.com/michaelxu/archive/2008/09/20/1293716.html 我們在編程的時候,有時會使用多線程來解決問題,比如你的程式需要在幕後處理一大堆資料,但還要使使用者介面處於可操作狀態;或者你的程式需要訪問一些外部資源如資料庫或網路檔案等。這些情況你都可以建立一個子線程去處理,然而,多線程不可避免地會帶來一個問題,就是線程同步的問題。如果這個問題處理不好,我們就會得到一些非預期的結果。
Time of Update: 2018-12-06
2012-10-08更新內容1,因為對象池採用的是Stack,並且沒有“對象在使用中,但仍在池中”這種情況,都是直接pop出來的,所以就廢棄掉了idle狀態,但是加入了“工作對象數量”的概念。2,順便把Stack改成了安全執行緒的ConcurrentStack,但這不是很重要,因為lock還是保留了下來3,一些不需要lock的地方都去掉了4,歸還對象時把串連關閉了(但不銷毀,第一版串連沒關閉,總是出問題),這就使得ValidateOnBorrow一定要置為true了5,樣本中的process方法
Time of Update: 2018-12-06
3/13:start()是個敗筆,有需要用的同學請自行處理什麼地方該start(源碼或調用),有時間的話我再理順一下它最佳的出現位置2/27更新:Start方法中增加重設圖片到原始大小的功能,解決每次初始化均以當前圖片大小為100%計算縮放比率的bug目前實現如下功能: 1,隨滑鼠在圖片上的移動會出現一個半透明的框,框內的部分即為截取的部分,雙擊即可獲得截取部分 2,支援自訂選擇框的大小(設定size屬性) 3,支援自訂選擇框的顏色(設定畫刷brush屬性) 4,支援滑鼠滾輪縮放圖片
Time of Update: 2018-12-06
留存個備份,簡單記錄日誌的時候用。C# private object o=new object (); private static string getFiles() { //判斷路徑、檔案是否存在,如不存在則產生相關資源 string dir = AppDomain.CurrentDomain.BaseDirectory + @"log\"; if (!Directory.Exists(dir)
Time of Update: 2018-12-06
using C = System.Console; ...static void Main() { DateTime dateTime = DateTime.Now; C.WriteLine ("d = {0:d}", dateTime ); // mm/dd/yyyy C.WriteLine ("D = {0:D}", dateTime ); // month dd, yyyy C.WriteLine ("f = {0:f}", dateTime ); // day,
Time of Update: 2018-12-06
這篇文章寫完後,發現網上有大量關於Expresstion和Func的討論,可以不看我的,看這幾篇,是一樣的,還更深入一些:http://fascinatedwithsoftware.com/blog/post/2012/01/10/More-on-Expression-vs-Func-with-Entity-Framework.aspxhttp://fascinatedwithsoftware.com/blog/post/2011/12/02/Falling-in-Love-with-LINQ-
Time of Update: 2018-12-06
1. Customer.csusing System;using System.Collections.Generic;using System.Linq;using System.Text;namespace CSharp{ class Customer:IFormattable { public string Name { get; set; } public decimal Revenue { get; set; } public
Time of Update: 2018-12-06
1 將系統時間轉換成UNIX時間戳記 DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970,1,1)); DateTime dtNow = DateTime.Parse(DateTime.Now.ToString()); TimeSpan toNow = dtNow.Subtract(dtStart); string timeStamp =
Time of Update: 2018-12-06
文章目錄 第二部分:foreach實現的本質 本人初學C#,本文僅供個人整理思路用,那裡說得不對,請大家多多指教,萬分感激!本文目的:通過實現 IEnumerable 介面,使得自訂類能使用foreach語句來遍曆自身元素前提知識:數組可以被foreach語句遍曆數組中的元素,原因是所有數組的基類都是System.Array ,而System.Array
Time of Update: 2018-12-06
相當於翻譯了這篇文章,How to write a DLL/SO in C/C++ for Python,我的目的是為了備忘一下我使用失敗的情況。首先,作者推薦了Cython可以作為一個更好的C的python封裝,我沒去用,直接用vs的工具來產生如下dll吧 1,編寫源碼 C程式//test.c__declspec(dllexport) int sum(int a, int b) { return a + b;}C++//test.cpp#define DLLEXPORT
Time of Update: 2018-12-06
最經在學習LinqtoSql,然後扯到Lambda運算式,然後扯到匿名方法,然後扯到委託,最後扯到事件處理。。。後來發現對委託這個概念和事件處理這個過程理解得不是很清晰,遂得一下學習筆記。那裡說得不對,請大家多多指教!第一部分:理解委託委託委託,顧名思義,就是類似於中間人的意思,有些事情你不做,委託別人去做,比如你想相親,但你不想去主動約女孩子,那你可以交給媒婆去幫你約。如果你學過C++,請把委託理解成函數指標,都是為了調用函數。函數指標可以調用符合該函數指標要求的函數。什麼叫符合該函數指標要
Time of Update: 2018-12-06
學silverlight學到WCF,嗯,WCF的確有點難,不過沒所謂,一點一點來,下面就嘗試著實現一個最基本最簡單的WCF例子,裡面不涉及到EndPoint、Binding、Element、非同步呼叫、序列化等等這些或者其他更難理解的概念,只是簡單地按照預設設定用最簡單的代碼把WCF最基本的應用體現出來。第一步:建立一個空的解決方案,建立一個WCF服務應用程式項目(使用預設名字) 來類比服務端,建立一個控制台應用程式項目(名稱改為 ConsoleApp)來類比用戶端。
Time of Update: 2018-12-06
String類型直接繼承自Object,所以它是一個要new出來的引用類型,即線程的堆棧上不會駐留有任何字串。(所有的實值型別都繼承自System.ValueType。值得指出的是System.ValueType卻是一個參考型別)代碼一:string str1 = "string"; string str2 = "stri"+"ng"; Console.WriteLine(string.ReferenceEquals(str1,
Time of Update: 2018-12-06
LinqtoSql類把訪問、操作資料庫的細節封裝了起來,把串連操作資料庫變得相當簡單。下面是簡單的例子。 第一步:添加LinqtoSql類1、建立一個控制台應用程式項目,下載一個NrothWind 資料庫放到解決方案裡面。然後點擊控制台項目右鍵選擇添加,選擇類選擇LINQ to SQL
Time of Update: 2018-12-06
首先,假設大家已經知道了什麼是實值型別,什麼是參考型別,也明白實值型別的變數就是直接儲存在堆棧上,而參考型別是在堆棧上存放一個地址,這個地址就是參考型別變數的執行個體對象在託管堆上真正的位置。下面說幾點總結出來的小結論,有些不一定會有很詳細很深入的邏輯推理過程。其次,推薦先看一下:《Effective C#》Item
Time of Update: 2018-12-06
1、CLR:通用語言執行平台,是一個可以由多種程式設計語言使用的“運行時”CLR的核心功能(如記憶體管理、程式集載入、安全性、異常處理和線程同步等)可由面向CLR的所有語言使用。在這個基礎上,不同語言的編譯器可以看成語法檢查器和“正確代碼”的分析器。無論選擇哪一種編譯器,結果都是一個託管模組(一個標準的可移植執行體檔案,32位的或者64位的,即PE檔案,如exe,dll,com,sys等) 2、託管模組的組成PE頭:32位就可以32位和64位系統上運行,64位就只能在64位系統上運行,還標識