Time of Update: 2018-12-08
1. foreach語句C#編譯器會把foreach語句轉換為IEnumerable介面的方法和屬性。複製代碼 代碼如下: foreach (Person p in persons) { Console.WriteLine(p); }foreach語句會解析為下面的程式碼片段。•調用GetEnumerator()方法,獲得數組的一個枚舉•在while迴圈中,只要MoveNext()返回true,就一直迴圈下去•用Current屬性訪問數組中的元素複製代碼 代碼如下: IEnumerator
Time of Update: 2018-12-08
•靜態建構函式既沒有存取修飾詞,也沒有參數。•如果沒有編寫靜態建構函式,而這時類中包含帶有初始值設定的靜態欄位,那麼編譯器會自動產生預設的靜態建構函式。•在建立第一個類執行個體或任何靜態成員被引用時,.NET將自動調用靜態建構函式來初始化類,也就是說我們無法直接調用靜態建構函式,也就無法控制什麼時候執行靜態建構函式了。•如果類中包含用來開始執行的 Main 方法,則該類的靜態建構函式將在調用 Main 方法之前執行。•如果類中的靜態欄位帶有初始化,則靜態欄位的初始化語句將在靜態建構函式之前運行。
Time of Update: 2018-12-08
本人根據網路多個相關部落格文章原創1)產生dll建立兩個檔案 xxx.h , xxx.cppxxx.h內容如下:#ifdef BUILD_XXX_DLL#define EXPORT __declspec(dllexport)#else#define EXPORT __declspec(dllimport)#endifextern "C"{EXPORT void example(void);... ...}xxx.cpp內容如下:#define BUILD_XXX_DLL#include
Time of Update: 2018-12-08
比如定義了一個錯誤的枚舉類型複製代碼 代碼如下:public enum eErrorDetailCode : int { 登陸成功 = 0, 登出 = 1, 應用錯誤 = 2, 成功 = 16, 失敗 = 17 }需要引用using System; 然後在迴圈中,遍曆枚舉對象的所有元素複製代碼 代碼如下:foreach (int myCode
Time of Update: 2018-12-08
複製代碼 代碼如下:usingSystem; usingSystem.Collections.Generic; usingSystem.Linq; usingSystem.Text; usingSystem.Drawing; usingSystem.IO; namespaceMicrosoft.Form.Base { classImageToByte { /// <summary> /// 圖片轉換成位元組流 /// &
Time of Update: 2018-12-08
複製代碼 代碼如下:string t = DateTime.Now.Ticks.ToString(); t = DESKey.DESEncrypt(t, DESKey.DesKeyStr); string[] strid = new string[t.Length];// for (int i = 0; i < t.Length; i++)//把字元賦給數組 {
Time of Update: 2018-12-08
一、用C#將Image轉換成byte[]並插入資料庫: 1.1 將圖片控制項的Image轉換成流: 複製代碼 代碼如下:private byte[] PicToArray() { Bitmap bm = new Bitmap(picBox.Image); MemoryStream ms = new MemoryStream(); bm.Save(ms, ImageFormat.Jpeg); return ms.GetBuffer(); } 複製代碼 代碼如下:
Time of Update: 2018-12-08
從左至右 A B C 柱 大盤子在下, 小盤子在上, 藉助B柱將所有盤子從A柱移動到C柱, 期間只有一個原則: 大盤子只能在小盤子的下面.如果有3個盤子, 大中小號, 越小的越在上面, 從上面給盤子按順序編號 1(小),2(中),3(大), 後面的原理解析引用這裡的編號.小時候玩過這個遊戲, 基本上玩到第7個,第8個就很沒有耐心玩了,並且操作的動作都幾乎相同覺得無聊. 後來學習編程, 認識到遞迴, 用遞迴解決漢諾塔的演算法也是我除了簡單的排序演算法後學習到的第一種演算法.
Time of Update: 2018-12-08
主表單代碼如下:複製代碼 代碼如下:public partial class PrintFileForm : Form { public PrintFileForm() { InitializeComponent(); PrintFile prinFile = new PrintFile(); prinFile.Print(); } }列印檔案類如下:複製代碼
Time of Update: 2018-12-08
第一種方法:複製代碼 代碼如下:string s=abcdeabcdeabcde;string[] sArray=s.Split(c) ;foreach(string i in sArray)Console.WriteLine(i.ToString());輸出下面的結果:abdeabdeabde第二種方法:我們看到了結果是以一個指定的字元進行的分割。使用另一種構造方法對多個字元進行分割: 複製代碼 代碼如下:string s=abcdeabcdeabcdestring[]
Time of Update: 2018-12-08
override是指“覆蓋”,是指子類覆蓋了父類的方法。子類的對象無法再訪問父類中的該方法。new是指“隱藏”,是指子類隱藏了父類的方法,當然,通過一定的轉換,可以在子類的對象中訪問父類的方法。所以說C# new和override的區別是覆蓋和隱藏 以下是代碼:複製代碼 代碼如下:<PRE class=csharp name="code">class Base { public virtual void F1() { Console.WriteLine("Base's
Time of Update: 2018-12-08
1. 值參數當利用值向方法傳遞參數時,編譯器給實參的值做一份拷貝,並且將此拷貝傳遞給該方法。被調用的方法不傳經修改記憶體中實參的值,所以使用值參數時,可以保證實際值是安全的。在調用方法時,如果形式化參數的類型是值參數的話,調用的實參的值必須保證是正確的值運算式。在下面的例子中,程式員並沒有實現他希望交換值的目的:複製代碼 代碼如下:using System;class Test{static void Swap(int x,int y){int
Time of Update: 2018-12-08
複製代碼 代碼如下: 方法如下:聲明一個事件: Num_DiscountAmount.MouseWheel +=new MouseEventHandler(Num_DiscountAmount_MouseWheel);編寫一個事件private void Num_DiscountAmount_MouseWheel(object sender, MouseEventArgs e) {HandledMouseEventArgs h = e as
Time of Update: 2018-12-08
有m*n(m <=100,n <=100)個金幣在案頭上排成一個m行n 列的金幣陣列。每一枚金幣或正面朝上或背面朝上。用數字表示金幣狀態,0表示金幣正面朝上,1 表示背面朝上。 金幣陣列遊戲的規則是: (1)每次可將任一行金幣翻過來放在原來的位置上; (2)每次可任選2 列,交換這2 列金幣的位置。 編程任務:給定金幣陣列的初始狀態和目標狀態,編程計算按金幣遊戲規則,將金幣陣列從初始狀態變換到目標狀態所需的最少變換次數。 Input 輸入資料有多組資料。第1行有1
Time of Update: 2018-12-08
這篇C語言指標學習經驗總結主要是我入職以來學習C指標過程中的點滴記錄。文檔裡面就不重複書上說得很清楚的概念性東西,只把一些說得不清楚或理解起來比較費解的東西做一下講解,希望能達到以下三個目的1.通過寫這些東西,把我腦袋中關於C的模糊的知識清晰化。2.給初轉C的同事們一點提示和協助。3.也希望各位前輩檢查一下文檔中是否有理解偏差的地方。1 指標的概念分解 指標是一個特殊的變數,它裡面儲存的數值被解釋成為記憶體裡的一個地址。
Time of Update: 2018-12-08
複製代碼 代碼如下:public static class EncryptAndDecrypt { //加密 public static string Encrypt(string input) { // 鹽值 string saltValue = "saltValue"; // 密碼值 string pwdValue = "pwdValue";
Time of Update: 2018-12-08
相信學習C++的人對class這個關鍵字都非常明白,class用於定義類。在模板引入c++後,最初定義模板的方法為: template<class T>...... 在這裡class關鍵字表明T是一個類型,後來為了避免class在這兩個地方的使用可能給人帶來混淆,所以引入了typename這個關鍵字。它的作用同class一樣表明後面的符號為一個類型,這樣在定義模板的時候就可以使用下面的方式了: template<typename
Time of Update: 2018-12-08
複製代碼 代碼如下:static void Main(string[] args){ Process proc = null; try { string targetDir = string.Format(@"D:\adapters\setup");//this is where mybatch.bat lies proc = new Process();
Time of Update: 2018-12-08
事情是這樣子的。我需要做一個下面的東東:這個不難啊,然後就用FolderBrowerDialog這個神器,嗯 還不錯,剛開始客戶用了也很喜歡。可是過了一段時間之後,客戶說 要屏蔽右鍵功能,他不想讓其他通過右鍵能開啟或瀏覽檔案夾,如下面 紅色要給屏蔽。我一開始以為只是一個參數問題,就爽快的答應了客戶咯。可是啊後來找啊找 找到天荒地老也木有找到。。。放棄了,然後改用了TreeView。。結果,版本出來了,先:好吧,確實很醜哦。。複製代碼 代碼如下:public MyDirectory()
Time of Update: 2018-12-08
複製代碼 代碼如下:using System;using System.Collections.Generic;using System.Linq;using System.Linq.Expressions;using System.Text;using System.Threading.Tasks;namespace ConsoleApplication{ class Program { class Test { public