Time of Update: 2018-12-08
案例1:複製代碼 代碼如下:int i = 5;Console.WriteLine(i.GetType());//System.Int32var x = 127.25m;Console.WriteLine(x.GetType());//System.Decimal案例2:複製代碼 代碼如下:namespace _2011._12._15{ class Program { static void Main(string[] args) {
Time of Update: 2018-12-08
Sitemaps是Google的一個和網站管理員相關的工具,有點象BLOG的RSS功能,是一個方便自己的服務,如果大家都採用了這種方式提交自己的更新的話,Google就再也不用派出那麼多爬蟲辛辛苦苦的到處亂竄了,任何一個網站,只要有更新,便會自動“通知”Google,方便Google進行索引。好像最近BAIDU也開始支援XML格式的sitemap的網站地圖了。目前網路上有很多免費的產生sitemap網站地圖的工具,使用起來也比較方便。其原理就是抓取你指定的頁面,擷取頁面上所有的連結,根據這些連結
Time of Update: 2018-12-08
複製代碼 代碼如下:private void button2_Click_1(object sender, System.EventArgs e){string pathName;if (this.openFileDialog1.ShowDialog()==System.Windows.Forms.DialogResult.OK){pathName = this.openFileDialog1.FileName;System.Drawing.Image img = System.Drawing.
Time of Update: 2018-12-08
完整代碼如下:引入命名空間:複製代碼 代碼如下:using System.IO; 完整代碼:複製代碼 代碼如下:namespace BinaryStreamApp { class Program { static void Main(string[] args) { //為檔案開啟一個二進位寫入器 FileStream fs; fs = new
Time of Update: 2018-12-08
剛剛開始學習C#,想自己做一個網頁遊戲的掛。遊戲裡面有收錢的動作,一個建築物一個建築物的點,很累啊。於是想用C#類比滑鼠操作替我收錢,想著學習這個對以後的測試工作也有協助,於是有了動力。學習過程也是曲折的,因為網上搜了半天資料很少。該遊戲是Flash的,用sendmessage不行,因為取不到裡面的對象。查到有些介紹Mouse_Event的文章,但是msdn上說已經過時。於是查到了SendInput函數。廢話少說,上代碼:首先看下 Win API 中SendInput函數描述:複製代碼
Time of Update: 2018-12-08
yield不能單獨放在try-catch塊中,如果try中有yield那麼,這個try塊後面不許跟著finally塊;也不能出現在匿名方法中,所以,看起來yield似乎並不常用,但是也不是不用。我前面有一個關於迭代器的例子《C#中的迭代器基礎》中就用到了。可以參考一下那個例子,但是這裡要再說的一點是我後來看到的,yield是跟return一起使用的,形式為yield return
Time of Update: 2018-12-08
消極式載入(lazy loading) 設計模式是為了避免一些無謂的效能開銷而提出來的,所謂消極式載入就是當在真正需要資料(讀取屬性值)的時候,才真正執行資料載入操作.為了便於理解, 我們來建立一個情境, 假設我們要構造一個Hero(英雄) 類, 每個Hero 有自己的名字和(SpecialSkill)特殊技術.建模這是一種建立的方法:複製代碼 代碼如下:public class Hero{ public string FullName { get; set; } public
Time of Update: 2018-12-08
比如有這樣兩個字串:複製代碼 代碼如下: var a = "a-b=c12"; var b =
Time of Update: 2018-12-08
1.委託的定義委託可以看成是一種資料類型,可以用於定義變數能接受的值只能是一個方法。委託簡單的樣本:複製代碼 代碼如下:namespace DelegateDemo { class Program { public delegate int MathOptDelegate(int value1,int value2); public int add(int value1, int value2) {
Time of Update: 2018-12-08
C#是一種型別安全的程式設計語言(所有運算式都能解析成某個類型的執行個體,在編譯器產生的程式碼中,只會執行對這個類型有效操作),和非型別安全的語言相比,型別安全的優勢就體現出來了:1.許多錯誤能在編譯時間檢測到,取保代碼在執行它之前是正確的。2.編譯時間語言通常能產生更小,更快的代碼。(在編譯時間進行更多的假設,並在IL和中繼資料中落實那些假設)為了方便開發人員使用反射或者與基本組件通訊,dynamic誕生了!一下代碼展示了如何利用反射在一個String目標("根據我找類型")上調用一個方法(“
Time of Update: 2018-12-08
C# Coding的時候,常常涉及代碼注釋,常見的注釋包括兩類:1)單行注釋。格式:// Comments2)多行注釋。格式:/* Comments... */C#引入了新的XML注釋,即我們在某個函數前新起一行,輸入///,VS.Net會自動增加XML格式的注釋,這裡整理一下可用的XML注釋。XML注釋分為一級注釋(Primary Tags)和二級注釋(Secondary Tags),前者可以單獨存在,後者必須包含在一級注釋內部。I 一級注釋1. <remarks>對類型進行描述,
Time of Update: 2018-12-08
之前看了很多關於圖的遍曆的代碼 今天我用了常用的資料結構寫出來 純屬於演算法 性方面還有待提高 時間複雜度最壞情況下O(2^n) 最優:O(n^2)線路圖為雙向 帶有權值 比如A-B距離是5000km 那麼B-A有可能不是5000km 所以我在LoadData方法時候沒做交換變數直接存放在集合裡面以起點遞迴尋找下一連接點並返回當作起點節點尋找 代碼雖然有些亂 本想調整 !複製代碼 代碼如下: static List<string[]> maindata = null;
Time of Update: 2018-12-08
Web.Config,其中一部分配置如下:複製代碼 代碼如下: <appSettings> <add key="EricTest" value="EricTest"/> <add key="Encrypt" value="Encrypt value"/> <appSettings> <connectionStrings > <add name="EncryptConnection"
Time of Update: 2018-12-08
不過我寫的比較草率,代碼結構不是很好,也沒有體現OOP的思想,這幾天有空會重構一下。先把代碼發出來:複製代碼 代碼如下:public class MatrixCardManager { public static int[,] ReadMatrixCardFromString(string matrixStr) { int[,] arr1 = new int[5, 5]; int[] tempArr =
Time of Update: 2018-12-08
複製代碼 代碼如下: private void button1_Click(object sender, EventArgs e) { if (openFileDialog1.ShowDialog() == DialogResult.OK) { using (FileStream fs = File.OpenRead(openFileDialog1.FileName)) {
Time of Update: 2018-12-08
其實很簡單。。。C#位移運算子:左移:<<右移:>>位移理解可能簡單一些:其實就是資料轉換成二進位的左右移動;右移左補0,左移右補0,後面多出來的部分去掉。用乘除法去理解位移也可以: 左位移:相當於乘 左移1位相當於乘2,左移2位相當於乘4,左移3位相當於乘8,左移4位相當於乘16...類推 右位移:相當於除
Time of Update: 2018-12-08
本篇純屬娛樂,源於整理代碼,發現還曾實現過遍曆二叉樹。雖然.NET/C#中的各種集合類已經實現了最優的排序設計,但瞭解基本的演算法實現有助於軟體開發中的各種權衡和選擇。比如,如果你實現過B+樹排序和尋找,並將樹節點序列化至二進位檔案塊,則你應該已經瞭解了各種資料庫索引的基本設計。什麼是二叉樹?http://en.wikipedia.org/wiki/Binary_tree二叉樹節點類定義複製代碼 代碼如下:View Code /// <summary> /// 二叉樹節點
Time of Update: 2018-12-08
const 的概念就是一個包含不能修改的值的變數。常數運算式是在編譯時間可被完全計算的運算式。因此不能從一個變數中提取的值來初始化常量。如果 const int a = b+1;b是一個變數,顯然不能再編譯時間就計算出結果,所以常量是不可以用變數來初始化的。readonly 允許把一個欄位設定成常量,但可以執行一些運算,可以確定它的初始值。因為 readonly 是在計算時執行的,當然它可以用某些變數初始化。readonly
Time of Update: 2018-12-08
-----------------------------------------------------操作-----------------------------------------------------------1.添加cookies(用cookies方式去做sso,使用者資訊儲存,修改都會依賴cookies)複製代碼 代碼如下: #region##添加cookeis ///<summary> /// 添加cookeis
Time of Update: 2018-12-08
目錄Emit異常處理流程 顯示Exception對象的Message屬性 返回目錄 Emit異常處理流程來看這種C#異常處理代碼:複製代碼 代碼如下: static void doo(Exception e) { try { throw e; } catch (ApplicationException ex) {