Time of Update: 2018-12-07
1. void Main(string[] args) using System; // Program start class class NamedWelcome { // Main begins program execution. public static void Main(string[] args) { // Write to console Console.WriteLine("Hello, {0}!", args[0]);
Time of Update: 2018-12-07
概念: 1書中解釋:在.NET中編譯器的任務之一是為所有定義和引用的類型產生中繼資料描述。除了程式集中標準的中繼資料外,.NET平台允許程式員使用特性(attribute)把更多的中繼資料嵌入到程式集中。簡而言之,特性就是用於類型,成員,程式集或模組的代碼註解。 2:個人理解:所謂的特性其實就是標註性的東西,它標註被所標註的類型是什麼樣子的,就像是軍銜標註一樣你是一等兵,他是二等兵,所以你兩的也就有所不同。 簡單用法:View Code [Serializable]
Time of Update: 2018-12-07
回顧1: 1:數值轉換,對於內建數值(sbyte,int,float等),如果在較小容器中儲存較大的數值,就需要一個顯式轉換,因為這可能導致資料丟失。這實際上就是告訴編譯器:別理我,我知道我在做什麼。反過來,如果試圖將較小類型放到指定目標類型中時不會遺失資料,將 自動進行隱式轉換: int a=123; long b=a; int c=(int)b; 2:類類型轉換:
Time of Update: 2018-12-07
public class CustomStyleHelper { public static void DoSerialize(string strFile,CustomStyle customstyle) { using (FileStream fs = new FileStream(strFile, FileMode.OpenOrCreate)) { XmlSerializer
Time of Update: 2018-12-07
public class ExcelHelper { #region 成員變數 private string templetFile = null; private string outputFile = null; private object missing = Missing.Value; private DateTime beforeTime; //Excel啟動之前時間
Time of Update: 2018-12-07
共產生9個dll,如:1.在程式中添加*_csharp.dll四個檔案的引用;2.將剩餘的五個檔案複製到程式的Debug檔案夾中;(如果不複製這五個檔案就會出現類似“OSGeo.GDAL.GdalPINVOKE的類型初始值設定項引發異常”的錯誤)3.測試程式: OSGeo.GDAL.Gdal.AllRegister(); OSGeo.GDAL.Dataset ds=OSGeo.GDAL.Gdal.Open(@"D:\我的文件\案頭\檔案讀取\tif\
Time of Update: 2018-12-07
python作為動態語言,開發效率相當高,但如我們所知,動態語言的執行效率往往是比較低的,請看下面簡單的測試過程: 一、 C語言實現100萬次列印: 代碼:[cpp] view plaincopyprint?#include<stdio.h> #include <time.h> int main(int argc, char* argv[]) { unsigned long i = 1; unsigned long ulNum = 1
Time of Update: 2018-12-07
1、手動嵌入式資源右鍵工程-添加-現有項-圖片或者文本點擊圖片或者文本-產生操作-內嵌資源 //這一步非常重要這樣添加的圖片或者文本就打包到exe中可以這樣訪問:Assembly assembly = GetType().Assembly;System.IO.Stream streamSmall = assembly.GetManifestResourceStream("WindowsFormsApplication1.event.jpg");
Time of Update: 2018-12-07
CREATE PROC P_TEST@Name VARCHAR(20),@Rowcount INT OUTPUTASBEGIN SELECT * FROM T_Customer WHERE NAME=@Name SET @Rowcount=@@ROWCOUNTENDGO------------------------------------------------------------------------------------------預存程序調用如下:---------------
Time of Update: 2018-12-07
c#中多線程訪問winform控制項的若干問題2010-10-28 來自:部落格園 字型大小:【大 中 小】摘要:大部分情況下都會碰到使用多線程式控制制介面上控制項資訊的問題。然而我們並不能用傳統方法來解決這個問題,下面我將詳細的介紹。 我們在做winform應用的時候,大部分情況下都會碰到使用多線程式控制制介面上控制項資訊的問題。然而我們並不能用傳統方法來解決這個問題,下面我將詳細的介紹。 首先來看傳統方法: publicpartialclass Form1 :
Time of Update: 2018-12-07
Regarding C Run-Time Error R6034 for VS2005/VS2008Regarding "C Run-Time Error R6034" Microsoft's recommendation is very confusing. That is, it recommends to include a manifest file and to re-compile the project.I recently had a problem with 'R6034'
Time of Update: 2018-12-07
1)class
Time of Update: 2018-12-07
在定義擴充方法時,有三個限制: 一:必須把方法定義在靜態類中,所以每個擴充方法也必須定義為靜態;(這是因為靜態類先編譯,所以它才能被別的類調用) 二:所有的擴充方法都需要使用this對第一個參數(並且只對第一個參數)進行修飾;(這裡的this修飾的就是該擴充方法所能被調用的類型。) 三:每個擴充方法只可以被記憶體中正確的執行個體調用。(也就是當二中this 修飾的是int類型,那麼這個擴充方法也就只能被int的執行個體所點出來。) 還是以例子看明白吧。 View
Time of Update: 2018-12-07
說起單元測試,是代碼重構,和開發一款穩定、高可維護性的軟體所必需的部分。現在有好多單元測試的工具,可以用在不同的環境和不同的語言,如JUnit,NUnit,Boost_Test,這裡簡單介紹一下Google的Test工具,GTest。在gtest.h的末尾(#endif之前)添加如下語句://我自己添加的#ifdef _DEBUG#pragma comment(lib,"gtestd.lib")#else#pragma comment(lib,"gtest.lib")
Time of Update: 2018-12-07
裝飾模式,動態地給一個對象添加一些額外的職責。就增加功能來說,Decorator模式相比產生子類更為靈活。13.1.解釋main(),老爸ISchoolReport,成績單介面CFourthGradeSchoolReport,四年級成績單ReportDecorator,成績單裝飾器基類HighScoreDecorator,最高分裝飾器SortDecorator,班級排名裝飾器說明:對“四年級成績單”進行裝飾,ReportDecorator必然有一個private變數指向ISchoolReport
Time of Update: 2018-12-07
無意中,從網上下到一本電子書《24種設計模式介紹與6大設計原則》,很好奇這裡有24種設計模式,印象中GOF寫的《設計模式》(Design
Time of Update: 2018-12-07
代理,一看名字就知道這隻是個中介而已,真實的執行者在代理的後面呢。cbf4life在他的書裡提的例子也很有趣,更詳細的內容及說明可以參考原作者部落格:cbf4life.cnblogs.com。現在貼代碼,以方便隨用隨取。2.1.解釋main(),西門慶IKindWomen,介面CWangPo,代理CPanJinLian,實際執行者之一CJiaShi,實際執行者之二說明:代理和實際執行者派生於共同的介面,代理擁有實際執行者的執行個體。代理的每一個函數(介面的實現函數),直接調用實際執行者的對應介面
Time of Update: 2018-12-07
橋樑模式,將抽象部分與它的實現部分分離,使它們都可以獨立地變化。實現分離的辦法就是增加一個類,11.1.解釋main(),客戶IProduct,產品介面CHouse,房子CIPod,ipodCClothes,服裝CNewCorp,橋樑類,MakeMoney()是橋樑方法CNewHouseCorp,只能生產房子,所以建構函式是CHouse*CShanZhaiCorp,什麼賺錢就生產什麼,所以建構函式是IProduct*說明:客戶直接使用CNewHouseCorp和CShanZhaiCorp類,在m
Time of Update: 2018-12-07
單例模式看起來也蠻簡單的,就是在系統中只允許產生這個類的一個執行個體,既然這麼簡單,就直接貼代碼了。更詳細的內容及說明可以參考原作者部落格:cbf4life.cnblogs.com。3.1.解釋main(),大臣CEmperor,需要單例的類說明:很多大臣拜見的皇帝,只有一個。體現在物件導向方面,CEmperor定義一個靜態指標,和一個靜態函數,私人化建構函式、解構函式、建構函式複製、重載指派陳述式。注意:安全執行緒,採用互斥體的方式實現。看代碼://Emperor.h#pragma once#
Time of Update: 2018-12-07
建造者模式,將一個複雜物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示。一段晦澀難懂的文字,實現建立不同表示的方法就是給建立的過程傳入建立的參數。詳細的還是看代碼吧。10.1.解釋main(),客戶CCarModel,產品模型CBenzModel,平治模型CBMWModel,寶馬模型ICarBuilder,建造者介面CBenzBuilder,平治建造者CBMWBuilder,寶馬建造者CDirector,導演說明:CCarModel實現模板方法,Builder負責開始建造產品。建造