Time of Update: 2017-02-27
1 C# 3.0 入門系列(一)從linq開始引C# 3.0。2 C# 3.0入門系列(二)資料庫的準備,引入Linq To Sql的準備。3 C# 3.0入門系列(三)第一個Linq To Sql工程。4 C# 3.0入門系列(四)-之Select操作Select文法。5 C# 3.0入門系列(五)-之Where操作Where操作文法。6 C# 3.0入門系列(六)-之OrderBy操作OrderBy 操作文法。7 C# 3.0入門系列(七)--之OR工具介紹C#
Time of Update: 2017-02-27
以前在別的地方見過一個通過調用系統API實現螢幕截圖的例子,從內心來說我不太喜歡在C#代碼中出現這種情況,現在什麼都講“和諧”,我覺得這種做法就是破壞了我們的“和諧”代碼,呵呵,開玩笑,有的時候,不通過系統API確實難以做到的。下面講述的就是怎麼通過純C#來實現螢幕截圖,代碼如下://截取全屏圖象 private void btnFullScreen_Click(object sender, EventArgs e) {
Time of Update: 2017-02-27
3種方法分別是:string a="";1.if(a=="")2.if(a==String.Empty)3.if(a.Length==0)3種方法都是等效的,那麼究竟那一種方法效能最高呢?本人用實驗說明問題。建立3個aspx頁面(為什麼用網頁,主要是利用Microsoft Application Center Test )WebForm1.aspxprivate void Page_Load(object sender, System.EventArgs
Time of Update: 2017-02-27
最近做一個項目,按客戶需求,需要產生一些報表,OWC是比較合適的組件.1、如何安裝OWC組件OWC是Office Web Compents的縮寫,即Microsoft的Office Web組件,包含SpreadSheet組件、Chart組件、PioTable組件和Data Source組件。只要裝了 Office 辦公軟體 ,在 C:\Program Files\MSECache\owc11_12 中會有一個安裝檔案: OWC11.msi (offic
Time of Update: 2017-02-27
掩碼輸入是一種常用的控制項,我記得第一次看見這種控制項是在Visual FoxPro中!感覺功能強大,不錯.現在用C#開發asp.NET應用程式也需要用到這種輸入的控制項,便琢磨著自己做一個.但是由於Visual
Time of Update: 2017-02-27
最近在看一本關於博弈的書.有個比較簡單的合作不合作的博弈.挺有意思,大意是這樣的:這個博弈是對現實生活中人與人之間是否合作的簡單抽象,具體內容和規則可以概括為“如果A與B都是合作態度,則是雙贏,每人得3分;如果A合作態度,B玩陰的,則A欺騙了B,取得了B本該得到的利益,則B得5分,A扣3分,反之亦然。最後如果A和B都不合作,則一拍兩散,兩個人都白費勁,則每人扣一分”在這個遊戲裡,每個人都和除了自己之外的人合作100次,則得分最高的人勝利.我抽象到C#代碼裡是用一個介面來規
Time of Update: 2017-02-27
簡介Visual C# .NET是Visual Studio系列中的最新成員。這種新語言基於C/C++,但它深化了更容易地使用面向組件編程的發展方向。C/C++ 程式員應該非常熟悉它的文法。下面的應用程式範例示範了如何構建一個簡單的實現 QuickSort 演算法的 C# 項目。它包括了C# 程式的基本組成部分:讀/寫控制台和檔案、建立函數和使用基本數組。這些入門指南並不打算涵蓋該程式設計語言的所有方面。它們只是您探索這種語言的一個起點。我們鼓勵您按照本教程的說明執行,因為它包括了
Time of Update: 2017-02-27
固定的和活動的變數&和fixed將變數分為兩類:固定的和活動的。固定的變數永久的存在並不會被GC的操作影響。(例如局部變數,值參數和間接指標)活動的變數會被GC重新分配位置或是釋放(例如對象中的欄位,基礎資料數組)。&取固定變數的地址是沒有限制的。但是活動變數容易受GC的影響,其地址只能通過fixed來獲得,並且地址僅會在整個fixed語句的周期持續有效。靜態欄位也是活動變數。還有標記為ref或out的也是活動變數,即使這個參數是傳遞給固定參數的。最後,通過間接指標引用的變數總是
Time of Update: 2017-02-27
主要參考的是C# Language Specification Version 3.0。引子C#是.Net平台上主流的開發語言,和經典的C/C++不同的是,C#所編寫的代碼是Managed 程式碼,由GC來管理記憶體,省去了new/delete的煩惱。但是,由於某些特殊的要求,比如和底層的作業系統介面,訪問記憶體映射裝置或者實現對時間要求苛刻的演算法時,C#提供了不安全的程式碼。不安全上下文不安全的程式碼只能寫在不安全上下文中。通過unsafe 修飾符可以修飾:class, struct,
Time of Update: 2017-02-27
上一篇文章中我們利用C#語言的特性實現了一種輕量級的Specification模式,它的關鍵在於拋棄了具體的Specification類型,而是使用一個委派物件代替唯一關鍵的IsSatisfiedBy方法邏輯。據我們分析,其優勢之一在於使用簡單,其劣勢之一在於無法靜態表示。但是它們還都是在處理“商務邏輯”,如果涉及到一個用於LINQ查詢或其他地方的運算式樹狀架構,則問題就不那麼簡單了——但也沒有我們想象的那麼複雜。好,那麼我們就把情境假想至LINQ
Time of Update: 2017-02-27
開發資料庫應用程式時,經常需要實現自動產生編號功能。實現該功能時,可以先將資料表中的記錄提取出來,並判斷該表中編號的最大值是多少,然後調用Substring方法將編號的整數部分截取出來,並加1,最後再將整數部分和前面的字串相加,產生一個新的編號。自動產生編號的關鍵代碼如下:SqlConnection sqlcon = new SqlConnection("Data Source=(local);Database=db_04;Uid=sa;Pwd=
Time of Update: 2017-02-27
Attention: 本文內容包括樣本來源均參考自Joseph C. Rattz, Jr.的Pro Linq一書。Lambda運算式是MS在C# 3.0中引入的。Lambda運算式最早可見於LISP語言,美國數學家Alonzo Church在1936年將其概念化。這種運算式為描述演算法提供了一種簡便的手段。在引入Lambda運算式之前,我們先看一看在這之前,將一個演算法作為參數傳遞給一個方法是如何做到的。使用命名方法(Named Methods)在C#
Time of Update: 2017-02-27
[C# 3.0 入門] [第一章 Lambda運算式] 第五節:Lambda運算式的使用範例 &
Time of Update: 2017-02-27
[C# 3.0 入門] [第一章 Lambda運算式] 第四節:Lambda的用途 & 型別宣告能夠和不能夠省略的情況成問題的是,雖然為了原始碼的簡潔性,很想用Lambda運算式,但是要寫的代碼卻不能全部都用Lambda運算式來寫。那麼, Lambda運算式究竟能做到什麼程度呢?習慣了C/C++編程風格的程式員,一定以為因C#文法與之很相似,所以用C#編寫相對複雜的程式應該也沒有問題。可是很遺憾,情況不是這樣。那是因為C/C++具有能寫出複雜功能的運算式的逗號運算式,而C#卻沒有。例如,
Time of Update: 2017-02-27
關於預存程序的介紹大家想必也不陌生了吧。大家可以參考《淺談預存程序》一文,這裡不做介紹。今天要介紹的是在C#裡如何調用帶輸入輸出參數的預存程序。譬如實現簡單的登陸功能,根據使用者輸入的使用者名稱、使用者密碼及使用者權限實現登陸。這裡充當輸入參數的有:使用者名稱、使用者密碼、登陸許可權。充當輸出參數的就是在資料庫裡面根據輸入參數的資訊查詢資料庫中是否有記錄。具體來說就是記錄的行數。資料庫中的預存程序構建代碼:Code1use Hotel --資料庫名2if exists(select *
Time of Update: 2017-02-27
Lambda運算式與匿名方法的區別那麼,為什麼Lambda運算式比匿名方法寫起來要短呢?這種像變戲法一樣的手法真的能用嗎?有沒有重要訊息遺漏掉呢?為了回答這些問題,就讓我們把匿名方法和Lambda運算式比較一下,看看Lambda運算式究竟怎麼寫。1using System;23delegate int SampleDelegate(int x, int y);45class Program6{7 private static void Calculate(int x, int y,
Time of Update: 2017-02-27
一、抽象類別:抽象類別是特殊的類,只是不能被執行個體化;除此以外,具有類的其他特性;重要的是抽象類別可以包括抽象方法,這是普通類所不能的。抽象方法只能聲明於抽象類別中,且不包含任何實現,衍生類別必須覆蓋它們。另外,抽象類別可以派生自一個抽象類別,可以覆蓋基類的抽象方法也可以不覆蓋,如果不覆蓋,則其衍生類別必須覆蓋它們。二、介面:介面是參考型別的,類似於類,和抽象類別的相似之處有三點:1、不能執行個體化;2、包含未實現的方法聲明;3、衍生類別必須實現未實現的方法,抽象類別是抽象方法,介面則是所有成
Time of Update: 2017-02-27
第一回Lambda運算式本節原文http://www.atmarkit.co.jp/fdotnet/csharp30/csharp30_01/csharp30_01_01.htmlC# 3.0 是什麼C#也順利的進行了版本升級,變成3.0了。在連載開始之初,就當作是前言吧,簡單的介紹一下C# 3.0究竟是什麼。C# 3.0,是運行時綁定的型別安全(似乎我們稱之為強型別)的物件導向(日語原文“object指向”)語言。運行時綁定(日語原文是“動的”)
Time of Update: 2017-02-27
項目中遇到Excel引用的問題,已經有一個項目引用了Excel object 11.0,用得效果也很好。可是在另一個項目中想引用Excel的時候,就是不能用Excel的的命名空間,提示“ 找不到類型或命名空間名稱“Excel”(是否缺少 using 指令或程式集引用?) ”。當然有同仁說過這個方法,在以下的網站下載一個補丁,然後安裝就好了,可是儘管我安裝了好幾遍,也沒能解決我的問題。最後,我去找
Time of Update: 2017-02-27
本次的內容,主要是針對已經學習過C# 2.0的程式員讀者的,前提是已經知道什麼是匿名方法。如果還不清楚,請先閱讀“連載:C#