Time of Update: 2018-12-04
附錄:簡單的三層結構代碼模板 1。Model層模板 <?xml version="1.0" encoding="utf-8"?><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:template match="/">using System;using System.Collections.Generic;namespace
Time of Update: 2018-12-04
封裝代碼如下: public class CookieUtility { /// <summary> /// 擷取指定名稱的Cookie值 /// </summary> /// <param name="CookieName">Cookie名稱</param> /// <returns></returns> public
Time of Update: 2018-12-04
簡單來說: 堆: 1. 存放類型:參考型別變數(即需要new操作符分配記憶體的變數)2. 記憶體管理方式:屬於非託管記憶體管理地區,變數使用之前需要new操作符手工分配記憶體,使用完畢需要手工釋放佔用記憶體。3. 儲存結構:堆型散列 棧: 1. 存放類型:用於存放實值型別變數(即不需要new操作符分配記憶體的變數)2. 記憶體管理方式:記憶體由.net平台統一管理,即託管記憶體地區,變數生命週期結束後,由垃圾管理器統一回收,不需要手工釋放佔用記憶體3. 儲存結構:後進先出
Time of Update: 2018-12-04
第二步:資料表的預先處理 /// /// 根據變數類型擷取從資料庫欄位轉換到該類型的轉換語句 /// /// private static void InitConvertMethod(FieldModel Field) { switch (Field.VarType) { case "string":
Time of Update: 2018-12-04
以前經常用sql語句(update)更新資料庫,有使用用起來不是很方便,特別是資料量比較大的情況下(比如資料表)很麻煩~~後來感覺用DataSet更新資料庫是不錯的選擇.於是急著寫了一個用ataSet更新資料庫的類如下:(後面有使用說明,總結) using System; using System.Data; using System.Data.SqlClient; using System.Windows.Forms; namespace winApplication {
Time of Update: 2018-12-04
與C++的第一次親密接觸,是大三或者是大四。那是一次失敗的接觸。C++對我來說,很晦澀。 之後轉向了C#。 現在再轉回C++,發覺,即使我有了C,有了C#的基礎支撐,C++還是非常的晦澀。至少,現在開頭學習時候,感覺很不順。 通常,都是被它的標頭檔打倒了。編譯不過去。 最變態的是,我感覺檔案與檔案之間的耦合程度真的很高。例如,A檔案一堆報錯的時候,也許問題並不在A,而在main,或者是B檔案裡面,少了一個include,或者少了一個符號之類的。 這樣,在排查驗錯的時候,就非常的吃力。 萬事開頭難
Time of Update: 2018-12-04
使用到了.NET中的資源檔,也就是Resources.resx,於是就學會了如何調用資源檔中的資源。首先,資源檔可以從項目屬性中的資源標籤添加。比如,我添加一個圖片,叫做aaa.png,添加入資源檔後,可以給他命名,比如叫它aaa。如此,添加檔案就完成了。然後,在程式中調用,只需要一句話:Properties.Resources.資源名比如我剛添加的圖片,就寫Properties.Resources.aaa就ok了,當然在IDE中寫代碼的時候是會有提示的。最後,沒了,就這麼簡單。充篇幅,放一段代
Time of Update: 2018-12-04
一般說來,單目運算子最好被重載為成員;對雙目運算子最好被重載為友元函數,雙目運算子多載為友元函數比重載為成員函數更方便. 運算子多載實際是一個函數,所以運算子的重載實際上是函數的重載。編譯器對運算子多載的選擇,遵循著函數重載的選擇原則。當遇到不很明顯的運算時,編譯器將去尋找參數相匹配的運算子函數。 運算子多載的作用: 運算子多載允許C/C++的運算子在使用者定義型別(類)上擁有一個使用者定義的意義。重載的運算子是函數調用的文法修飾: class Fred Fred
Time of Update: 2018-12-04
void *memccpy (void *dest, const void *src, int c, size_t n);從src所指向的對象複製n個字元到dest所指向的對象中。如果複製過程中遇到了字元c則停止複製,返回指標指向dest中字元c的下一個位置;否則返回NULL。void *memcpy (void *dest, const void *src, size_t n);從src所指向的對象複製n個字元到dest所指向的對象中。返回指標為dest的值。void *memchr
Time of Update: 2018-12-04
簡而言之,static_cast<> 將嘗試轉換,舉例來說,如float-到-integer,而reinterpret_cast<>簡單改變編譯器的意圖重新考慮那個對象作為另一類型。 float f=123.4;int i=(int)f;//正確int j=static_cast<int>(f);//正確int j=boost::lexical_cast<int>(f); //錯誤int
Time of Update: 2018-12-04
1、cpp檔案中的全域靜態變數全域內的聲明:static int a=0;這樣的靜態全域變數就只能被該cpp檔案所用,不能被其他cpp檔案分享權限設定。若不聲明static:int a=0;這樣的全部變數既不能保證a能被其他cpp檔案分享權限設定,又不能保證不能被其他cpp檔案分享權限設定。不建議這樣使用,最好加extern:extern int a=0;2、靜態局部變數int f(){static int
Time of Update: 2018-12-04
使用C++來開發WPF,主要是如何在MFC(Win32)的視窗中Host WPF的Page。下面我就做個詳細的介紹.一、建立工程, 由於MFC的Wizard會產生很多用不到的代碼,所以我準備從一個空的工程開始建立一個MFC的工程。a) 開啟VS2005,菜單File->New->Projects…, 左面選擇Visual C++->Win32,右面選擇Win32 Console Application,給工程起個名字CPlusPlus_WPF, Ok進入下一步。
Time of Update: 2018-12-04
序列化:string r1 = new JavaScriptSerializer().Serialize(obj);還原序列化非常討厭 必須指定資料類型 ClassType obj = new JavaScriptSerializer().Deserialize<ClassType>(str);這邊str和ClassType有任何不匹配就會拋出各種異常 完全沒有靈活性一般語言都可以轉換成弱類型的索引值對下載visualstudio sp1 再下載silverlight
Time of Update: 2018-12-04
1首先要在視窗類別的cpp檔案手動添加訊息響應機制, //{{AFX_MSG_MAP(CShellDlg) ON_MESSAGE(WM_SENDOFFLINE, OnSendOffline) //自訂訊息 ON_MESSAGE(WM_SWIPECARD, OnSwipeCard) //自訂訊息 ON_MESSAGE(WM_MODEM, OnModem) ON_MESSAGE(WM_PINPAD, OnPinPad)
Time of Update: 2018-12-04
//第一題,實現字串的複製//筆試題常考啊這個東西////////////函數原型為: char *strcpy(char *dst,const char *src)//需要注意的點有:1、形參中的const//2、assert在assert.h中//3、while語句中判斷條件//4、*dst = '\0';//5、測試時候,元字串定義為char *src,而目的字串定義為 char dst[100], //因為char *src定義的是不可變的字串。
Time of Update: 2018-12-04
什麼是型別安全?型別安全很大程度上可以等價於記憶體安全,型別安全的代碼不會試圖訪問自己沒被授權的記憶體地區。“型別安全”常被用來形容程式設計語言,其根據在於該門程式設計語言是否提供保障型別安全的機制;有的時候也用“型別安全”形容某個程式,判別的標準在於該程式是否隱含類型錯誤。型別安全的程式設計語言與型別安全的程式之間,沒有必然聯絡。好的程式員可以使用類型不那麼安全的語言寫出類型相當安全的程式,相反的,差一點兒的程式員可能使用類型相當安全的語言寫出類型不太安全的程式。絕對型別安全的程式設計語言暫
Time of Update: 2018-12-04
現在每篇部落格都要求有摘要,但是如果我就這樣直接接著上一篇的內容開始講的話可能第一次看我部落格的人都不知道我在說啥,所以我還是把前一篇部落格的第一段作為摘要搬過來吧。懂得C語言的人都知道,C語言之所以強大,以及其自由性,絕大部分體現在其靈活的指標運用上。因此,說指標是c語言的靈魂,一點都不為過。所以從我的標題加了個(一)也可以看出指標的重要性,我儘可能的向大家交代清楚我對於指標的理解。所以在講解的過程中我儘可能的用代碼加文字的描述方式,通過代碼的分析來加深我們對於指標的理解,我給出的都是完整的代
Time of Update: 2018-12-04
但凡人都是急功近利和有惰性的,我就是個例子。不想每篇部落格都寫一個摘要和那些大段的文字描述,但是為了讓一些新的讀者朋友瞭解我的部落格內容,我還是像前面說的那樣,把第一篇關於指標的摘要搬過來,因為我寫的這幾篇都是關於指標的,所以沒有必要每篇一個摘要,在此就偷偷懶了,如果讀過我前面兩篇C指標部落格的朋友可以跳過這篇部落格前面的摘要不讀,直接進入主題部分。懂得C語言的人都知道,C語言之所以強大,以及其自由性,絕大部分體現在其靈活的指標運用上。因此,說指標是c語言的靈魂,一點都不為過。所以從我的標題加了
Time of Update: 2018-12-04
大多數的讀者在學習程式設計語言的時候都不喜歡那些枯燥的文字描述,包括我自己在開始學習編程的時候也是這樣,對於代碼的熱情遠遠高於文字,所以我在我寫東西的時候也不喜歡用枯燥的文字描述來向讀者講解,更喜歡用代碼加上適當的文字描述的方式進行講解,因為有些東西可能用枯燥的文字描述半天還不如實實在在的給讀者呈現出一段簡單的代碼,讓讀者理解得更加的透徹些。但是並不是說文字描述就沒用,文字描述也很重要,只是絕大部分讀者都更加的希望直接達到最終的效果,都想跳過那些中間的步驟。接下來我們接著上一篇部落格《C語言的那
Time of Update: 2018-12-04
大學期間剛開始學習C語言時,我對於編程的要求不屑一顧,所以別人在參考My Code的時候總是會說我寫的“太亂”,當初我自己對於代碼的要求就是自己能懂就行了。當我要踏入社會的時候我發現我必須要改掉這個不好的習慣,因為工作後不是簡簡單單的只要自己看懂就行了!下面就來簡單的介紹我在linux下編程所學的一些規範的寫法吧。1.宏定義的名稱每個字母都用大寫,名字要體現它在代碼中的含義,例如:#difine PI