Time of Update: 2017-02-27
C# 3.0 中對象初始化器(Object Initializers) 和 集合初始化器(Collection Initializers) ,就是簡化我們的代碼,讓本來幾行才能寫完的代碼一行寫完。這樣在LINQ的使用中,我們才不會把一個LINQ運算式寫的巨複雜無比。 由於我看到幾篇講 對象初始化器(Object Initializers)和集合初始化器(Collection Initializers)
Time of Update: 2017-02-27
有關擴充方法的一些知識點請參看我的前篇部落格:C#3.0 中的擴充方法 (Extension Methods)前篇部落格中我重點介紹了兩個特殊情境:1、擴充方法跟原來類的方法重名時候的處理邏輯2、擴充方法的嵌套現在我們來看擴充方法使用的第三個情境:使用擴充方法來擴充介面應用情境舉例:我們有時候會發現最初定義的一個介面,在現在環境下,這個介面需要再增加一個函數。有了擴充方法後,我們在這種情況下又多了一種實現的選擇。下面以代碼來說明這個問題:namespace
Time of Update: 2017-02-27
前面的文章中,大家已經對C#3.0的新特性有了一個基本的瞭解,比如強大的LINQ語言和擴充方法的應用,今天給大家介紹的是C#3.0中添加的另一個重要的新特性:匿名方法。1. 匿名溯源匿名的曆史可謂由來已久,在C#2.0中匿名方法就已經大量使用在委託(delegate)的應用情境中。下面我舉幾個例子大家可以簡單回顧一下:1) 當我們需要調用一個回調方法時,不需要構建委派物件,只需要將回調方法名傳入,CLR會替我們完成委派物件的建立工作。//example 1public static void
Time of Update: 2017-02-27
我們說Anonymous Type是C# 3.0的新的特性,而沒有說Anonymous Type 是.NET Framework 3.5的新特性。這是因為Anonymous Type僅僅是.NET Programming Language和相應的Compiler的新引入的特徵。而對於.NET Framework 3.5來說,它看不到這和原來有什麼不同,對於Anonymous Type和一 般的Named Type,對於CLR來說他們之間沒有什麼本質的區別。通過下面這樣的一段簡單的代碼:1var
Time of Update: 2017-02-27
摘要:本文討論了如何使用C#2.0實現抓取網路資源的網路蜘蛛。使用這個程式,可以通過一個入口網址(如http://www.comprg.com.cn)來掃描整個互連網的網址,並將這些掃描到的網址所指向的網路資源下載到本地。然後可以利用其他的分析工具對這些網路資源做進一步地分析,如提取關鍵詞、分類索引等。也可以將這些網路資源作為資料來源來實現象Google一樣的搜尋引擎。關鍵詞:C#2.0,Html,網路蜘蛛, 鍵樹,Regex一、引言在最近幾年,以Google為首的搜尋引擎越來越引起人們的關注。
Time of Update: 2017-02-27
在平時做架構架構設計的時候,頭疼之一的是處處得採用反射,但有了C#4.0,發現dynamic完全可以取代反射,這個功能讓我有些激動,立馬在VS2010將日誌跟蹤器架構裡的第一個反射的代碼升級到C#4.0,結果一點都不令人失望,代碼簡化了很多。先看看用dynamic替換反射後的代碼吧:1 using System;2 using System.Collections.Generic;3 using System.Linq;4 using System.Text;5 using
Time of Update: 2017-02-27
Optional and named parameters特性在有些場合提供很大的方便,特別是Office開發中可以告別一坨System.Reflection.Missing了。這裡簡單瞭解一下C#4.0中的Optional and named parameters。在VS2010 CTP中的C#4.0編譯器調試通過,正式版可能會有些變化。1.使用樣本class Program{ static void Main(string[] args) { Test t =
Time of Update: 2017-02-25
標籤:window user cts param connect rdo string lin inf class ADSLHelper { ///
Time of Update: 2017-02-27
背景及需求項目使用的是MVC4架構,其中有一個功能是根據設定產生PDF檔案,並在點擊時直接預覽。實現過程1、第一版實現代碼:HTML內容@{ Layout = null;}<!DOCTYPE html><html><head> <meta name="viewport" content="width=device-width" />
Time of Update: 2017-02-25
1、 IsMatch()方法,IsMatch()方法實際上是一個返回Bool值得方法,如果測試字元滿足Regex返回True否則返回False。例子://匹配的Regex,去掉@不影響效果Regex r = new Regex(@"^[0-9]");//開始匹配Match m = r.Match(this.textBox1.Text);while (m.Success){ MessageBox.Show("首位是數字");
Time of Update: 2017-02-25
1、去除xml或者類似檔案的頭部資訊string text = File.ReadAllText("E:\\AA.xml").Replace("\r\n","");text = Regex.Replace(text, @"<!-- *.* -->","", RegexOptions.IgnoreCase);功能: 將AA.xml檔案中的斷行符號、換行替換為“”,將<
Time of Update: 2017-02-25
關鍵點有以下幾個:1、openFileDialog控制項的使用如果通過單擊選擇按鈕來實現選擇本地某個檔案的功能呢?具體來說分為以下幾步:a、建立Winform表單,畫好相應的控制項。b、在工具箱中找到openFileDialog,拖到“選擇檔案”按鈕上,此時會出現如下這種效果:此時openFileDialog會顯示在介面的下方,而不是介面上,這樣就可以了,通過單擊“選擇檔案”按鈕即可實現開啟本地某個檔案的功能。同時“選擇檔案”按鈕的Click函數中需要添加下面幾行代碼:DialogResult
Time of Update: 2017-02-25
看看RegistryKey的協助就知道了,這個東西不複雜,比如:1、加鍵加值 string appName = "PowerOffOnTime";//擷取執行該方法的程式集,並擷取該程式集的檔案路徑(由該檔案路徑可以得到程式集所在的目錄)string thisExecutablePath =
Time of Update: 2017-02-25
方案一: DataSet dsTemp = new DataSet(); dsTemp = dsDt.Clone(); DataRow[] drs = dsDt.Tables[0].Select("CHECKED='1'"); foreach (DataRow dr in drs) {
Time of Update: 2017-02-25
C# 判斷字串是否可以轉化為數字 /// <summary> /// 判斷字串是否可以轉化為數字 /// </summary> /// <param name="str">要檢查的字串</param> /// <returns>true:可以轉換為數字;false:不是數字</returns> public static
Time of Update: 2017-02-25
A.WinForm中表單顯示 顯示表單可以有以下2種方法: Form.ShowDialog方法 (表單顯示為模式表單) Form.Show方法 (表單顯示為無模式表單) 兩者具體區別如下: 1.在調用Form.Show方法後,Show方法後面的代碼會立即執行 2.在調用Form.ShowDialog方法後,直到關閉對話方塊後,才執行此方法後面的代碼 小註:1、模態顯示後, 快顯視窗阻止調用視窗的所有訊息響應。 只有在快顯視窗結束後調用視窗才能繼續。
Time of Update: 2017-02-24
一,.Net中的緩衝基礎知識.net中支援的兩種依賴:CacheDependencySqlDependency表示對於檔案或者目錄的依賴表示對於SQL資料庫的依賴到期時間絕對到期時間滑動到期時間一個特定的時間點,類型為DateTime 一個時間間隔,類型為TimeSpan優先順序 : CacheItemPriority
Time of Update: 2017-02-24
與Java中的各種檔案流,網路流類似,.net中也有各類流。流的主要用途就是與應用程式外部的檔案或資料來源進行資料互動。基類為Stream,定義在命名空間System.IO下; 一,使用流進行一次性的複製寫入 首先我們在案頭上建個測試用的檔案,寫入些東西: 之後是我們的代碼: #region 使用流進行一次性複製
Time of Update: 2017-02-24
在平常中,我們經常會用到將一個T類型的東西,序列化成Json然後返回綁定資料到頁面這樣一個過程。每次面試,大概都被問到怎麼序列化的呀?回答總是底層封裝好的,算啦,還是做個簡單栗子玩玩兒吧,也好堵住面試官的嘴。進行序列化和還原序列化的時候,主要用到對象DataContractJsonSerializer,然後再配合MemoryStream,就ok啦。不多說,先來一版簡單的+泛型的栗子,之後,我們會逐步改進: public static class JsonConvert {
Time of Update: 2017-02-24
在.net中,因為對不同的節點,都對應著類去對它進行處理,。net裡面為了方便,已經內建了一些類供我們使用,使我們在讀取設定檔時,不必自己去定義類去處理自己定義的自訂節點。下面我們寫了這樣一個設定檔: <?xml version="1.0" encoding="utf-8" ?><configuration> <configSections> <!--使用IgnoreSection處理自訂節點-->