C#美味:用@符號讓C#語言中的保留字做變數名

文章目錄 @參考文獻 在c和c++中,我們知道沒辦法起一個變數名叫int,因為這是C/C++保留的關鍵字,起這麼一個變數名沒辦法區分到底是int類型還是int變數。事實上在C#中也有這麼一條規矩,就是不能起一個變數名是保留的關鍵字。如: 在C/C++中,我們是無能為力的,你必須起一個不叫int的,比如加個底線。。當然,C#中也可以這麼幹。 @今天閱讀《C# 3.0 in a Nutshell, 3rd

c#美味:使用checked語句防止資料溢出

文章目錄 checked unchecked幾個注意參考資料 在C#中有一個關鍵字checked,它用來判斷當前上下文中的數值運算和數值轉換是否會溢出。如是是常量溢出,那在編譯時間就能發現;如果是變數溢出,那在運行時會拋出OverflowException。數值運算有:++   —   - (unary)   +   -   *   / 有了這個就不用擔心資料溢出了。 checkedchecked

C++零食:用Windows API分解路徑

在很多代碼中看到,由於需要擷取一個路徑字串中的檔案名稱或者副檔名,很多程式員都用了c庫中的字串尋找函數來擷取。這樣子寫得代碼很多,也麻煩。 其實在VC中,可以用更好的方法來擷取。沒有什麼特別多說明,代碼如下: LPTSTR szfileName = new TCHAR[MAX_PATH]; GetModuleFileName(NULL, szfileName , MAX_PATH); // 擷取盤符、檔案名稱、副檔名等資訊 wchar_t

C++零食:wprintf 中使用%I64d格式化輸出LONGLONG

文章目錄 LONGLONG例子參考資料 在寫某個程式時,因為需要用到一個大的整數,就是要了LONGLONG型:LONGLONG nLarge;但是格式化時不知道應該用什麼字元,用 %d,%l都不行。 LONGLONGLONGLONG其實就是int64類型。在winnt.h可以看到:typedef __int64

C++零食:重啟後消失的註冊表索引值

文章目錄 Bug描述Why? 原因解決辦法參考資料 今天遇到一個bug,折騰了半天才解決掉,分享給大家。 Bug描述一位開發人員調用下面的代碼來建立一個註冊表索引值:HKEY hKey;if(::RegOpenKeyEx(HKEY_CURRENT_USER, DemoRegKey, 0, KEY_WRITE, &hKey) != ERROR_SUCCESS){ RegCreateKeyEx(HKEY_CURRENT_USER,

7z系列之一:7zip SDK中C++模組的編譯

文章目錄 7zipSDK7zip SDK中的C++模組編譯7zxr.dll

C# 靜態建構函式

    靜態建構函式是C#的一個新特性。用於初始化待用資料,或用於執行僅需執行一次的特定操作。在建立第一個執行個體或引用任何靜態成員之前,將自動調用靜態建構函式。(在程式中,使用者無法控制何時執行靜態建構函式。) 樣本: using System;class A{  private static int count;  static A()   {    count = 0;    Console.WriteLine("Init A:" + count.ToString());  } 

C#基礎之String篇

  曾經看到過許多同事寫過一些類似於StringHelper類(封裝一些常用的字串操作方法的類),我自己也寫過類似的類,封裝一些拼接字串,比較字串,判斷字串等常用的字串操作方法。現在發現,這些方法中大部分都是多餘的,微軟已經為字串提供了許多常用的操作了,而且比自己寫的更強大,更容易使用。下面列舉一些常用的方法:Code highlighting produced by Actipro CodeHighlighter

[c#美味] c#4.0中的具名引數

文章目錄 Before 4.0After 4.0結合預設參數參數的調用順序不好之處參考資料 什麼是具名引數?具名引數(Named Arguments)就是說在調用函數時可以通過指定參數名稱的方式來調用參數。它最大的好處就是方便調用參數時按調用者的需要來排列順序,而不必死守函式宣告時的順序,同時結合預設參數值的特性,可以選擇使用預設參數還是不使用預設參數。 Before 4.0如下面樣本:static void Main(string[]

[c#美味] c#4中預設參數和具名引數後的函數重載

文章目錄 問題提出重載決策規則執行個體分析參考資料: 問題提出由於C#4中新增了預設參數和具名引數,導致函數重載的情況變得比以前複雜了一些。舉例如下,假設有下面4個函數:static void Fun(string name, int num = 1) {}static void Fun(object o){}static void Fun(int num, string name = "Greenerycn") {}static

[c++]字串替換函數

在C++中,字串替換有很多方法,這裡主要說一下STL裡的WString中的替換,雖然WString內建了一個Replace函數,但是只能替換一次,太不好了,因此單獨寫了個替換函數[函數]       /**         * @brief   實現字串替換         * @param   orignStr 源串         * @param   oldStr  尋找的串         * @param   newStr  替換的新串

一文的C#正則實現

看了<<字串進階截取和統計>>一文,確實正則可以實現,而且更為簡單,後來看到<<字串進階截取和統計>>一文的看法與Regex的實現中用java實現,所以我簡單寫了一下,把c#的實現貼出來。寫到不好之處,大家多多指教。實現原理:使用Regex中的MatchCollection類,它會把搜尋到的字串儲存到一個數組中,並包含相關資訊。 代碼:Code highlighting produced by Actipro CodeHighlighter

[C++]VC中先行編譯的標頭檔放那裡?

用C++寫程式,肯定要用先行編譯標頭檔,就是那個stdafx.h.不過我一直以為只要在.cpp檔案中包含stdafx.h 就使用了先行編譯標頭檔,其實不對。在VC++中,先行編譯標頭檔是指放到stdafx.h中的標頭檔才會有效果。如下: file: stdafx.h// stdafx.h : include file for standard system include files,// or project specific include files that are used

C++.Net Post表單

CodeCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->//testCode:a.aspx//-------------------------------------------------------------------    protected void Page_Load(object sender, EventArgs e)    { 

C#多線程技術(一)

公司項目有可能採用C#編寫,如果用到,必然會涉及到多線程技術,基本的概念都是相同的,差別是具體的代碼。 在C#中,線程函數執行被封裝在類中,通過類對象的Start函數啟動線程執行函數。線程類Thread接受的是一個ThreadStart的delegate類型對象,具體代碼應該如下: Code highlighting produced by Actipro CodeHighlighter

C++沉思錄摘錄(OOP部分)

C++中,只有在程式通過指向基類對象的指標或者基類對象的引用調用虛函數時,才會發生這個運行時的多態現象。對運行時的多態做出這樣的限制是經過深思熟慮的。 這個模型的含義可能不太明顯,特別是對象的建立和複製不是運行時多態的,這一點嚴重地影響了類的設計。所以,容易-無論是類似於數組或者結構體的內建容器還是使用者定義容器類——之智能獲得編譯時間類型已知的元素值。如果有一系列類之間存在繼承關係,當我們需要建立、複製和儲存物件,而這些對象的確切類型只有到運行時才能知道時,則這種編譯時間的檢查會帶來一些麻煩。

秒懂C#通過Emit動態產生代碼

首先需要聲明一個程式集名稱, // specify a new assembly name var assemblyName = new AssemblyName("Kitty");從當前應用程式定義域擷取程式集構造器, // create assembly builder var assemblyBuilder = AppDomain.CurrentDomain .DefineDynamicAssembly(assemblyName,

C#4.0新特性:選擇性參數,具名引數,Dynamic

1.選擇性參數可以為方法的參數設定一個預設值,如下:class Program    {        static voidMain(string[] args)        {            Show();            Show("cary");            Console.ReadLine();        }         public static void Show(string msg = "")        {           

C# 如果何從線程中操作控制項

下面是比較早期寫的一個監控UDP接收的線例子: 1        //申明委託 2        public delegate void mydelegate(); 3        //添加調用控制的方法 4        public void outtext()  5        { 6            textBox1.Text = Read_str; 7        8        }               9        public void start_se

C# 開源項目

轉自第一開源網www.open001.comAggie Aggie 是一個案頭的新聞彙總器 (C#)更多Aggie資訊Aspect# Aspect# 就是castle.dynamicproxy的擴充,而castle.dynamicproxy得本質就是通過 reflection,emit,delegate,在運行時動態為非sealed類的virtual方法產生proxy類。Aspect#則是在此基 礎上定義了一套configuration

總頁數: 4314 1 .... 1325 1326 1327 1328 1329 .... 4314 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.