Time of Update: 2018-12-07
文章目錄 重複執行變數捕獲順延強制的實現原理 LINQ中大部分查詢運算子都有一個非常重要的特性:順延強制。這意味著,他們不是在查詢建立的時候執行,而是在遍曆的時候執行(換句話說,當enumerator的MoveNext方法被調用時)。讓我們考慮下面這個query: static void TestDeferredExecution() {var numbers = new List<int>();
Time of Update: 2018-12-07
static void Main() { Predicate<int> p = s => { return s > 1; };//這個定義表示充當謂詞的函數所採用的參數必須是單值(其類型必須與要處理的數組或列表中的資料類型相同) //,而且必須返回 Boolean 值。傳回值指示傳送到過程的值是否滿足將其包括在內的特定條件。 p(23);
Time of Update: 2018-12-07
class Fax { }class LaserPrinter : Fax { }delegate Tresult Func<in T,out Tresult>(T arg);//out 關鍵字指定該型別參數是協變的,in 關鍵字指定該型別參數是逆變的class Program {private static T Min<T>(T o, T b)where T:class,IComparable<T> {
Time of Update: 2018-12-07
VS2008 下的 WebDev.WebServer.EXE 路徑:C:\Program Files\Common Files\Microsoft Shared\DevServer\9.0\WebDev.WebServer.EXE 在微軟.NET平台中,自從Visual Studio 2005 以後的版本編寫Web程式的時候,可以在沒有IIS的環境中編譯和調試,每次調試的時候都會運行起一個 Asp.net Development Server
Time of Update: 2018-12-07
1.設定WinForm表單內容showinTask=false2.加notifyicon控制項notifyIcon1,為控制項notifyIcon1的屬性Icon添加一個icon表徵圖。3.添加表單最小化事件(首先需要添加事件引用):this.SizeChanged += new System.EventHandler(this.Form1_SizeChanged); //上面一行是主表單InitializeComponent()方法中需要添加的引用 private void
Time of Update: 2018-12-07
判斷某程式是64位還是32位 1. 用代碼判斷本身if (IntPtr.Size == 4){ // 32-bit}else if (IntPtr.Size == 8){ // 64-bit}2. 用代碼判斷正在啟動並執行其他進程http://stackoverflow.com/questions/1953377/how-to-know-a-process-is-32-bit-or-64-bit-programmatically 3. 不用代碼判斷任意exe,看第二個回複 http:
Time of Update: 2018-12-07
在學習和使用OO設計的時候,我們應該明白:OO的出現使得軟體工程師們能夠用更接近真實世界的方法描述軟體系統。然而,軟體畢竟是建立在抽象層次上的東西,再怎麼接近真實,也不能替代真實或被真實替代。 OO設計的五大原則之間並不是相互孤立的。彼此間存在著一定關聯,一個可以是另一個原則的加強或是基礎。違反其中的某一個,可能同時違反了其餘的原則。因此應該把這些原則融會貫通,牢記在心! OO的五大原則是指SRP、OCP、LSP、DIP、ISP。 1. SRP(Single Responsibility
Time of Update: 2018-12-07
其實副檔名為ashx與為axd基本上是一樣的,都是用於寫web
Time of Update: 2018-12-07
轉自:http://blog.csdn.net/gueter/archive/2007/03/08/1524447.aspx Author
Time of Update: 2018-12-07
可能很多人都沒有注意到,C#中對byte類型的處理還是很特殊的。下面我用幾行簡單的代碼來說明問題byte x=1;byte y=2;byte z=x+y;
Time of Update: 2018-12-07
class Program {static void Main() { StringBuilder sb = new StringBuilder(); IFormatProvider f=new BoldInt(); BoldInt b = new BoldInt(); sb.AppendFormat(f, "{0} {1} {2:M}", "Xiaobai", 21,
Time of Update: 2018-12-07
--建立一個資料表 這可以是你的一個物理表declare @temp table( ID varchar(20), ParentID varchar(20), Name nvarchar(100))insert into @temp values('A','','分類A')insert into @temp values('B','','分類B')insert into @temp values('C','','分類C')insert into @temp values('D'
Time of Update: 2018-12-07
IList 是 ICollection 介面的子代,並且是所有非泛型列表的基底介面。IList 實現有三種類別:唯讀、固定大小和可變大小。無法修改唯讀 IList。固定大小的 IList 不允許添加或移除元素,但允許修改現有元素。可變大小的 IList 允許添加、移除和修改元素。ICollection 介面是 System.Collections 命名空間中類的基底介面。ICollection 介面擴充 IEnumerable;IDictionary 和 IList 則是擴充
Time of Update: 2018-12-07
static void Main() { System.Data.DataTable dt = new System.Data.DataTable("t"); dt.Columns.AddRange(new DataColumn[] {new DataColumn("id"),new DataColumn("name"),new DataColumn("adress")});for (int i = 0; i < 10; i++)
Time of Update: 2018-12-07
static void Main() {byte[] byt = System.Text.Encoding.Default.GetBytes("你好啊!Event");//string轉換byte[]foreach (byte b in byt) { Console.WriteLine(b);//輸出196,227,186,195,176,161,163,161,69,118,101,110,116,一個中文兩個位元組.
Time of Update: 2018-12-07
古人云呐,有疑問了就要穀哥,穀哥到的說的我暈暈乎乎,怎麼根據小弟下面的問題去理解裡氏替換原則呢? class Fax {public void FaxDoSome() { Console.WriteLine("Fax's public Method"); }protected void SelfDo() { Console.WriteLine("Fax's protected Method");
Time of Update: 2018-12-07
文章目錄 一.帶有OUTPUT的INSERT的應用 二.帶有OUTPUT的DELETE的應用. 三.帶有OUTPUT的UPDATE的應用 OUTPUT是SQL
Time of Update: 2018-12-07
本文分析.Net記憶體回收機制,帶你瞭解相關的代齡和演算法,垃圾收集器在本質上就是負責跟蹤所有對象被引用到的地方,關注對象不再被引用的情況,回收相應的記憶體。在.NET平台中同樣如此,有效提高.NET記憶體回收效能,能夠提高程式執行效率。 其實垃圾收集並不是伴隨Java出現的,早在1958年,圖林獎得主John發明的Lisp語言就已經提供了GC的功能,這是GC的第一次出現,是思想的一次閃光!而後,1984年Dave Ungar發明的Small
Time of Update: 2018-12-07
在Code First方法中,還可以通過Fluent API的方式來處理實體與資料表之間的映射關係。要使用Fluent API必須在構造自訂的DbContext時,重寫OnModelCreating方法,在此方法體內調用Fluent API。如下面代碼所示:public class BlogDbContext : DbContext{ public BlogDbContext(): base("name=BlogDB2005"){}protected override void
Time of Update: 2018-12-07
overload:同一個類中,相同名稱的方法,它們或有不同的參數個數或有不同的參數類型。用於同一類中同名方法但參數個數或類型不同的實現,也就是讓方法有不同簽名的版本。通過參數的不同來區分。 public string s() {return ""; }public int s()//報錯,已定義過一個名為“s”具有相同方法簽名的方法 {return 1; } public int s(string t)//正確,方法簽名不同