Time of Update: 2015-01-21
標籤:Shapefile檔案是ArcGIS儲存向量要素的標準格式,要讀寫Shapefile最簡單的方法當然是基於ArcObject(或者ArcEngine)開發,不過網上也有一些開源的解譯Shapefile的代碼都是值得參考的,lz曾經用到過一個,源碼已經貼到下邊,有興趣的可以下載看看(來源已經記不清了,如果這是您的代碼請聯絡我),下邊是兩種方法的代碼,其實代碼很簡單,但由於經常會用到所以記下來以便日後查閱。直接上代碼。開啟Shapefile: public static
Time of Update: 2015-01-21
標籤:開發基於.Net平台上的程式員是很難從本質上把Visual C#和ActiveX組件聯起來,雖然在使用Visual C#開發應用程式時,有時為了快速開發或者由於.Net FrameWork SDK的不完整,還需要藉助ActiveX。但即使如此,也很難把二者聯絡起來。其中的原因就是能夠被Visual C#直接使用檔案和通過Visual C#產生的可執行程式只可能是託管的檔案。而Active
Time of Update: 2015-01-21
標籤:定義介面從技術上講,介面是一組包含了函數型方法的資料結構。通過這組資料結構,客戶代碼可以調用組件對象的功能。定義介面的一般形式為:[attributes] [modifiers] interface identifier [:base-list] {interface-body}[;]說明:1、attributes(可選):附加的定義性資訊。2、modifiers(可選): 允許使用的修飾符有 new 和四個存取修飾詞。分別是:new、public、protected、internal、
Time of Update: 2015-01-21
標籤:通過FileInfo類,我們可以方便地建立出檔案,並可以訪問檔案的屬性同時還可以對檔案進行開啟檔案、關閉檔案、讀寫檔案等基本的操作。下面的代碼顯示了如何建立一個文字檔並且去訪問其建立時間、檔案的絕對路徑以及檔案屬性等檔案資訊,最後程式還給出了刪除檔案的方法。 FileInfo fi = new FileInfo(@"F:\Myprogram.txt");FileStream fs = fi.Create();Console.WriteLine("Creation
Time of Update: 2015-01-21
標籤:File和Directory類作為實用類,File和Directory類都提供了許多方法,用於處理檔案系統以及其中的檔案和目錄。這些是靜態方法,涉及移動檔案、查詢和更新屬性並建立FileStream對象。File類一些最常用的靜態方法:Copy()------將檔案複製到規定的位置Create()------在規定的位置上建立檔案Delete()------刪除檔案Open()-------在規定的路徑上返回FileStream對像Move()------將規定的檔案移動到新位置,可以在新
Time of Update: 2015-01-21
標籤:1、顯式實現介面成員為了實現介面,類可以定義顯式介面成員執行體(Explicit interface member implementations)。顯式介面成員執行體可以是一個方法、一個屬性、一個事件或者是一個索引指標的定義,定義與該成員對應的全權名應保持一致。 using System ;interface ICloneable { object Clone( ) ;}interface IComparable { int CompareTo(object other) ;}
Time of Update: 2015-01-21
標籤:C#中不僅支援.Net 平台,而且支援COM平台。為了支援 COM和.Net,C# 包含一種稱為屬性的獨特語言特性。一個屬性實際上就是一個 C# 類,它通過修飾原始碼來提供元資訊。屬性使 C# 能夠支援特定的技術,如 COM 和 .Net,而不會干擾語言規範本身。C# 提供將COM介面轉換為 C#介面的屬性類。另一些屬性類將 COM類轉換為C# 類。執行這些轉換不需要任何 IDL 或類工廠。現在部署的任何COM
Time of Update: 2015-01-21
標籤:很多初學c#的朋友對於事件與介面感到迷惑不解,不明白它們之間的關係,下面我就用執行個體來簡單的分析講解一下。事件,用event修飾符來代表一個事件,我們要建立一個C#事件必須按以下順序來掃行:1,建立或標識一個代表。比如下例中的public delegate void dele(); //聲明代表,delegate 關鍵字通知編譯器 dele 是一個委託類型2,建立一個包含事件處理代表,呼叫事件處理代表的方法的類,如下例public class EventClass1 : IEvents
Time of Update: 2015-01-21
標籤:有時候我們需要表達一種抽象的東西,它是一些東西的概括,但我們又不能真正的看到它成為一個實體在我們眼前出現,為此物件導向的程式設計語言便有了抽象類別的概念。C#作為一個物件導向的語言,必然也會引入抽象類別這一概念。介面和抽象類別使您可以建立組件互動的定義。通過介面,可以指定組件必須實現的方法,但不實際指定如何?方法。抽象類別使您可以建立行為的定義,同時提供用於繼承類的一些公用實現。對於在組件中實現多態行為,介面和抽象類別都是很有用的工具。一個抽象類別必須為類的基本類列表中列出的介面的所有成員
Time of Update: 2015-01-21
標籤:運用DirectoryInfo類的對象我們可以輕鬆的實現對目錄以及和目錄中的檔案相關的操作,假如你要獲得某個目錄F:\Pictures下的所有BMP檔案,那麼通過下面的代碼就可以實現該功能。 上面的代碼中我們首先建立了一個DirectoryInfo對象,然後通過調用該對象的GetFiles方法擷取目錄F:\Pictures下的所有以bmp為副檔名的檔案,該方法返回的值是一個FileInfo類型的數組,每個元素則代表一個檔案。最後,程式還列舉了每個BMP檔案的相關屬性。
Time of Update: 2015-01-21
標籤:介面可以包含一個和多個成員,這些成員可以是方法、屬性、索引指標和事件,但不能是常量、域、操作符、建構函式或解構函式,而且不能包含任何靜態成員。介面定義建立新的定義空間,並且介面定義直
Time of Update: 2015-01-21
標籤:我們在對檔案進行讀寫操作之前必須開啟檔案,FileInfo類為我們提供了一個Open()方法,該方法包含了兩個枚舉類型值的參數,一個為FileMode枚舉類型值,另一個為FileAccess枚舉類型值。通過設定這兩個參數值,我們可以對檔案的訪問模式和操作許可權進行控制。下面的兩個表格分別顯示了FileMode枚舉類型的值和FileAccess枚舉類型的值。表4表5下面的代碼顯示了Open()方法的具體運用方法。 FileInfo f = new
Time of Update: 2015-01-21
標籤:DirectoryInfo類和FileInfo類的基類都是FileSystemInfo類,這個類是一個抽象類別,也就是說你不可以執行個體化該類,只能通過繼承產生其子類並執行個體化其子類。然而你卻可以運用由該類定義的各種屬性,下面的表格顯示了該類已經定義了的各種屬性。表2DirectoryInfo類提供了建立、刪除和移動目錄等方法,要運用表2中的各種屬性,我們首先得建立一個DirectoryInfo類的對象,然後就可以訪問其各種屬性了。 同時,我們還可以運用FileAttribut
Time of Update: 2015-01-21
標籤:File------實用類,提供許多靜態方法,用於移動、刪除、和複製檔案。Directory------實用類,提供許多靜態方法,用於移動、刪除和複製目錄。Path------ 實用類,用於處理路徑名稱。FileInfo------表示磁碟上的物理檔案,具有可以處理此檔案的方法,要完成對檔案的讀寫工作,就必須建立Stream對像。DirectoryInfo------表示磁碟上的物理目錄,具有可以處理此目錄的方法FileStream-------表示可以被寫或被讀,或二者都可的檔案,此檔案
Time of Update: 2015-01-21
標籤:介面(interface)用來定義一種程式的協定。實現介面的類或者結構要與介面的定義嚴格一致。有了這個協定,就可以拋開程式設計語言的限制(理論上)。介面可以從多個基底介面繼承,而類或結構可以實現多個介面。介面可以包含方法、屬性、事件和索引器。介面本身不提供它所定義的成員的實現。介面只指定實現該介面的類或介面必須提供的成員。介面好比一種模版,這種模版定義了對象必須實現的方法,其目的就是讓這些方法可以作為介面執行個體被引用。介面不能被執行個體化。類可以實現多個介面並且通過這些實現的介面被索引。
Time of Update: 2015-01-21
標籤:<1> C#特性學習筆記using System;using System.Collections.Generic;using System.Linq;using System.Web;namespace WebApplication1{ //Attribute 類 //TypeId屬性: 當在衍生類別中實現時,擷取該 Attribute 的唯一識別碼。 //AttributeUsageAttribute 類
Time of Update: 2015-01-21
標籤:excelusing System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using Microsoft.Office.Core;using EXCEL =
Time of Update: 2015-01-21
標籤:一、C# checked運算子checked運算子用於對整型算術運算和顯式轉換啟用溢出檢查。預設情況下,運算式產生的值如果超出了目標類型的範圍,將會產生兩種情況:?常數運算式將導致編譯時間錯誤。?Variant 運算式在運行時計算並將引發異常。二、提示如果我們通過編譯器選項或者環境配置在全域範圍內取消了溢出檢查,就可以使用checked關鍵字來啟用該項功能了。三、樣本 using System;using System.Collections.Generic;using
Time of Update: 2015-01-21
標籤:#保留了C++所有的操作符,其中指標操作符(*和->)與引用操作符(&)需要有unsafe的上下文。C#擯棄了範圍辨析操作符(::),一律改為單點操作符(.)。我們不再闡述那些保留的C++的操作符,這裡主要介紹C#引入的具有特殊意義的幾個操作符:as,is,new, typeof,sizeof,stackalloc。as操作符用於執行相容類型之間的轉換,當轉換失敗時,as 操作符結果為null。is
Time of Update: 2015-01-21
標籤:一、C#自增運算子(++)自增運算子(++)是將運算元加1。1. 首碼自增運算子首碼自增運算子是“先加1,後使用”。它的運算結果是運算元加1之後的值。例如:++x; // 首碼自增運算子2. 尾碼自增運算子尾碼自增運算子是“先使用,後加1”。它的運算結果是運算元加1之前的值。例如:x++; // 尾碼自增運算子二、提示自增運算子(++)適用於數值和枚舉類型。三、樣本 using System;using