Time of Update: 2018-12-05
呵呵。。。 好久時間沒有更新部落格了 因為年底了 手上的項目 都等著上線 所以比較忙。現在 好了一點 就來寫點東西吧!~ 時間關係 今天就簡單講講序列化。 序列化是什嗎?它是可以將對象的狀態轉換成可以保持或傳輸的的過程,和它一起的還有一個還原序列化,它是可以將流轉換為對象的過程,一起使用就可以實現 對象的傳輸。.net 提供2序列化 一種是序列化為XML檔案 一種是序列化為二進位檔案,我們今天來示範序列化為XML檔案。 看如下代碼Code highlighting
Time of Update: 2018-12-05
關於這個論題,Delegates, Events, and Lambda Expressions 對此有比較深入的分析,可以參考。C# vs C++之一:委託 vs 函數指標 比較了委託和C++指標的區別。.NET
Time of Update: 2018-12-05
引言委託 和 事件在 .Net Framework中的應用非常廣泛,然而,較好地理解委託和事件對很多接觸C#時間不長的人來說並不容易。它們就像是一道檻兒,過了這個檻的人,覺得真 是太容易了,而沒有過去的人每次見到委託和事件就覺得心裡別(biè)得慌,混身不自在。本文中,我將通過兩個範例由淺入深地講述什麼是委託、為什麼要使 用委託、事件的由來、.Net
Time of Update: 2018-12-05
event與delegate的區別首先,通過加入event關鍵字,在編譯的時候編譯器會自動針對事件產生一個私人的欄位(與此事件相關的委託),以及兩個訪問器方法,即add訪問器方法以及remove訪問器方法,用於對事件的註冊及登出(對事件使用+=及-=操作時就是調用的這兩個方法)。我想你們的問題主要是,實際上聲明一個委託類型的欄位也可以實現這些功能。實際上之所以採用event而不直接採用委託,實際上還是為了封裝。可以設想一下,如果直接採用公用的委託欄位,類型外部就可以對此欄位進行直接的操作了,比
Time of Update: 2018-12-05
說明:這個C語言專題,是學習iOS開發的前奏。也為了讓有物件導向語言開發經驗的程式員,能夠快速上手C語言。如果你還沒有編程經驗,或者對C語言、iOS開發不感興趣,請忽略前面我們已經學習了指標,如果指標儲存了某個變數的地址,我們就可以說指標指向這個變數。數組及其數組元素都佔有儲存空間,都有自己的地址,因此指標變數可以指向整個數組,也可以指向數組元素。一、用指標指向一維數組的元素 1 // 定義一個int類型的數組 2 int a[2]; 3 4 // 定義一個int類型的指標 5 int *p;
Time of Update: 2018-12-05
前一段時間需要比較時間,本來想DateTime.Compare( dt1, dt2 ),但是為了方便我得到的數值是string的,還得和目前時間進行比較,比如我寫12:00:00,如果Convert.ToDateTime後是帶有年月日而且全是零!!。後來想我只是比較時刻或者說shortDateTime,所以換了一種思路比較時刻。例子:比較是上午還是下午。 TimeSpan minDay = new TimeSpan(12, 0, 0);//定義一個中午時間
Time of Update: 2018-12-05
以下以C#語言作為例子:using System;using System.Collections.Generic;using System.Text;using System.Text.RegularExpressions;namespace Util{public class SearchKeyword{public SearchKeyword() { }//搜尋引擎特徵private string[][] _Enginers = new string[][]{new string[]{“g
Time of Update: 2018-12-05
樣本1:void myFun(int x); //聲明也可寫成:void myFun( int );int main(){ myFun(100);//一般的函數調用 return 0;}void myFun(int x){ printf("myFun:
Time of Update: 2018-12-05
Convert類是將一個基礎資料型別 (Elementary Data Type)轉換為另一個基礎資料型別 (Elementary Data Type)。例如如下的代碼就行不通了:string text = "1412"; int id = (int)text;我們把上面的代碼稍稍修改就可以達到目的了string text = "1412"; int id = Convert.ToInt32(text); 下面的程式碼範例示範 Convert 類中的一些轉換方法,包括
Time of Update: 2018-12-05
直接看例子:Hello,Baby CodeCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->using System;using System.Collections.Generic;using System.Text;using System.Globalization;namespace TestConsole{ class Program
Time of Update: 2018-12-05
1.書籍:http://product.dangdang.com/product.aspx?product_id=20395779 ,C#進階編程第六版,最新版。 118¥大洋。2.MSDN C# 開發中心首頁:http://msdn.microsoft.com/zh-cn/vcsharp/default.aspx(所有版本下載x86版本的,如果你的cpu和作業系統支援64位,那你也可以下載x64) a),下載:.net framework 2.0
Time of Update: 2018-12-05
實值型別和參考型別在c#內建基本類型當中,除了object和string外,都是參考型別。同時,自己定義的類,也都是參考型別。因為自訂類全部繼承自System.Object。更多參見:.net中6個重要的基礎概念:Stack, heap, Value types, reference types, boxing and Unboxing.值傳遞和引用傳遞建立控制台程式檔案:ValueAndReference.csCodeCode highlighting produced by Actipro
Time of Update: 2018-12-05
有關“位元組序”的描述 收藏 BIG-ENDIAN(大位元組序、高位元組序)LITTLE-ENDIAN(小位元組序、低位元組序)主機位元組序網路位元組順序JAVA位元組序1.BIG-ENDIAN、LITTLE-ENDIAN跟多位元組類型的資料有關的比如int,short,long型,而對單位元組資料byte卻沒有影 響。BIG-ENDIAN就是低位位元組排放在記憶體的低端,高位位元組排放在記憶體的高端。而LITTLE-ENDIAN正好相反。 比如 int a = 0x05060708 在BIG-
Time of Update: 2018-12-05
// 引入策略模式,將工作劃分開來// 應用依賴注入,讓"執行工作"由注入的執行個體來完成具體內容.// 這樣,新增的工作獨立完成,哪裡使用哪裡修改using System;using System.Collections.Generic;using System.Text;namespace ConsoleApplication1.EighthTest{ class EighthTest { public void DoTest() {
Time of Update: 2018-12-05
最近給項目組面人,面到一些剛從學校畢業的同學,號稱熟練甚至是精通C#。一開始,每每看到簡曆上寫著“精通C#”,都會讓人有一種莫名的興奮。然而,結果往往讓人比較失望。經過幾次這樣的經曆後,發現有些簡曆水分過多,大部分而的確比較熟練,但不是C#,而是C++。或者說,他們“精通”的,是學校所教授的部分,而對於C#與C++不同的部分,就顯得十分生疏,甚至只是“聽過而已”。而面試時往往只要問問很簡單的問題,就可以看出被面試者對C#的熟練程度了。例如,要求應試者寫一個委託,就可以看出對委託文法的理解。好,切
Time of Update: 2018-12-05
在日常開發中,經常要開啟一個模態表單,在模態表單中選擇某一項,然後把這項的ID或者Name賦值給開啟這個模態表單的表單…… 在Windows 用戶端中,要實現這樣的功能是非常簡單的,代碼也會很優美。當然,這與個人的寫法有關係。 比較優美的方式有2種,一種是使用interface編寫觀察者模式,一種就是使用事件委託。既然在Windows平台中玩耍,那就採用更加靈活的事件委託方式來實現吧。 廢話少說,我們來看實現代碼吧。(紅色加粗為主要中的重要代碼)
Time of Update: 2018-12-05
public partial class FrmMain : Form { public FrmMain() { InitializeComponent(); } private void FrmMain_Load(object sender, EventArgs e) { object[] obj = new object[1]; obj[0] =
Time of Update: 2018-12-05
最近對下面一個小樣解釋委託,因為她在去百度一下我又瞄了一下,神馬「委託神秘面紗」、「神聖領域」,說半天代碼內講的是事件,我靠。 委託就是方法指標,強型別的(C#嘛都是強型別)。 委託可以是相向的,可以傳參數也可以有回傳值。事件是單向的,方法簽名參數指定是object, EventArgs(或繼承它的子類),回傳指定是 void,沒有回傳值。 跑題了,說回委託,代碼如下: 1 using System; 2 3 namespace DelegateTutorial 4 { 5 ///
Time of Update: 2018-12-05
相同點: (1) 都可以被繼承 (2) 都不能被執行個體化 (3) 都可以包含方法聲明 (4) 衍生類別必須實現未實現的方法區 別: (1) 抽象基類可以定義欄位、屬性、方法實現。介面只能定義屬性、索引器、事件、和方法聲明,不能包含欄位。 (2) 抽象類別是一個不完整的類,需要進一步細化,而介面是一個行為規範。微軟的自訂介面總是後帶able欄位,證明其是表述一類“我能做。。。” (3) 介面可以被多重實現,抽象類別只能被單一繼承 (4)
Time of Update: 2018-12-05
本人因為最近工作用到了一些排序演算法,就把幾個簡單的排序演算法,想冒泡排序,選擇排序,插入排序,奇偶排序和快速排序等整理了出來,代碼用C#代碼實現,並且通過了測試。希望能給大家提供參考。 1.冒泡排序 冒泡排序,是指電腦的一種排序演算法,它的時間複雜度是O(n^2),雖然不及堆排序和快速排序時間複雜度為O(nlogn,底數為2),但是有兩個優點:1:編程複雜度低,很容易實現;2