Time of Update: 2016-12-23
標籤:c#、des、加密解密、字串1.添加引用using System.Security.Cryptography;using System.IO;2.添加預設密匙向量//預設密鑰向量private static byte[] Keys = { 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF
Time of Update: 2016-12-24
C# 多態性多態性意味著有多重形式。在物件導向編程範式中,多態性往往表現為"一個介面,多個功能"。多態性可以是靜態或動態。在靜態多態性中,函數的響應是在編譯時間發生的。在動態多態性中,函數的響應是在運行時發生的。靜態多態性在編譯時間,函數和對象的串連機制被稱為早期繫結,也被稱為靜態繫結。C#
Time of Update: 2016-12-24
如果你在設定asp.net mvc自訂錯誤頁面時遇到問題,這並不止你一個人。驚訝之餘你的做法是正確的,沒有起到作用的原因是其一部分錯誤是由asp.net管道處理的,另一部分是由iis直接處理。通常情況 (我期望是這種情況,在一些其他架構/伺服器上) 我們只需要在一個地方配置自訂錯誤頁就可以了,無論怎麼哪兒引發的錯誤。就像這樣︰<customErrors mode="On"> <error code="404" path="40
Time of Update: 2016-12-24
C# 運算子多載您可以重定義或重載 C# 中內建的運算子。因此,程式員也可以使用使用者自訂類型的運算子。重載運算子是具有特殊名稱的函數,是通過關鍵字 operator 後跟運算子的符號來定義的。與其他函數一樣,重載運算子有傳回型別和參數列表。例如,請看下面的函數:public static Box operator+ (Box b, Box c){ Box box = new Box(); box.length = b.length + c.length; box.breadth =
Time of Update: 2016-12-24
C# 命名空間(Namespace)命名空間的設計目的是為了提供一種讓一組名稱與其他名稱分隔開的方式。在一個命名空間中聲明的類的名稱與另一個命名空間中聲明的相同的類的名稱不衝突。定義命名空間命名空間的定義是以關鍵字 namespace 開始,後跟命名空間的名稱,如下所示:namespace namespace_name{ //
Time of Update: 2016-12-24
C# 前置處理器指令前置處理器指令指導編譯器在實際編譯開始之前對資訊進行預先處理。所有的前置處理器指令都是以 # 開始。且在一行上,只有空白字元可以出現在前置處理器指令之前。前置處理器指令不是語句,所以它們不以分號(;)結束。C# 編譯器沒有一個單獨的前置處理器,但是,指令被處理時就像是有一個單獨的前置處理器一樣。在 C# 中,前置處理器指令用於在條件編譯中起作用。與 C 和 C++ 不同指令不用,它們不是用來建立宏。一個前置處理器指令必須是該行上的唯一指令。C# 前置處理器指令列表下表列出了
Time of Update: 2016-12-24
C# 異常處理異常是在程式執行期間出現的問題。C# 中的異常是對程式運行時出現的特殊情況的一種響應,比如嘗試除以零。異常提供了一種把程式控制權從某個部分轉移到另一個部分的方式。C# 異常處理時建立在四個關鍵詞之上的:try、catch、finally 和 throw。try:一個 try 塊標識了一個將被啟用的特定的異常的代碼塊。後跟一個或多個 catch 塊。catch:程式通過例外處理常式捕獲異常。catch 關鍵字表示異常的捕獲。finally:finally
Time of Update: 2016-12-24
前言參數驗證是一個常見的問題,無論是前端還是後台,都需對使用者輸入進行驗證,以此來保證系統資料的正確性。對於web來說,有些人可能理所當然的想在前端驗證就行了,但這樣是非常錯誤的做法,前端代碼對於使用者來說是透明的,稍微有點技術的人就可以繞過這個驗證,直接提交資料到後台。無論是前端網頁提交的介面,還是提供給外部的介面,參數驗證隨處可見,也是必不可少的。總之,一切使用者的輸入都是不可信的。參數驗證有許多種方式進行,下面以mvc為例,列舉幾種常見的驗證方式,假設有一個使用者註冊方法[HttpPost
Time of Update: 2016-12-24
C# 反射(Reflection)反射(Reflection) 對象用於在運行時擷取類型資訊。該類位於 System.Reflection 命名空間中,可訪問一個正在啟動並執行程式的中繼資料。System.Reflection
Time of Update: 2016-12-24
C# 屬性(Property)屬性(Property) 是類(class)、結構(structure)和介面(interface)的命名(named)成員。類或結構中的成員變數或方法稱為 域(Field)。屬性(Property)是域(Field)的擴充,且可使用相同的文法來訪問。它們使用 訪問器(accessors) 讓私人域的值可被讀寫或操作。屬性(Property)不會確定儲存位置。相反,它們具有可讀寫或計算它們值的 訪問器(accessors)。例如,有一個名為 Student
Time of Update: 2016-12-24
C# 索引器(Indexer)索引器(Indexer) 允許一個對象可以像數組一樣被索引。當您為類定義一個索引器時,該類的行為就會像一個 虛擬數組(virtual array) 一樣。您可以使用數組訪問運算子([ ])來訪問該類的執行個體。文法一維索引器的文法如下:element-type this[int index] { // get 訪問器 get { // 返回 index 指定的值 } // set 訪問器 set { // 設定
Time of Update: 2016-12-24
C# 事件(Event)事件(Event) 基本上說是一個使用者操作,如按鍵、點擊、滑鼠移動等等,或者是一些出現,如系統產生的通知。應用程式需要在事件發生時響應事件。例如,中斷。事件是用於處理序間通訊。通過事件使用委託事件在類中聲明且產生,且通過使用同一個類或其他類中的委託與事件處理常式關聯。包含事件的類用於發布事件。這被稱為 發布器(publisher) 類。其他接受該事件的類被稱為 訂閱器(subscriber) 類。事件使用 發布-訂閱(publisher-subscriber)
Time of Update: 2016-12-24
C# 集合(Collection)集合(Collection)類是專門用於資料存放區和檢索的類。這些類提供了對棧(stack)、隊列(queue)、列表(list)和雜湊表(hash table)的支援。大多數集合類實現了相同的介面。集合(Collection)類服務於不同的目的,如為元素動態分配記憶體,基於索引訪問清單項目等等。這些類建立 Object 類的對象的集合。在 C# 中,Object 類是所有資料類型的基類。各種集合類和它們的用法下面是各種常用的
Time of Update: 2016-12-24
C# 泛型(Generic)泛型(Generic) 允許您延遲編寫類或方法中的編程元素的資料類型的規範,直到實際在程式中使用它的時候。換句話說,泛型允許您編寫一個可以與任何資料類型一起工作的類或方法。您可以通過資料類型的替代參數編寫類或方法的規範。當編譯器遇到類的建構函式或方法的函數調用時,它會產生代碼來處理指定的資料類型。下面這個簡單的執行個體將有助於您理解這個概念:using System;using System.Collections.Generic;namespace
Time of Update: 2016-12-24
以下是app.config或web.config的定義,定義了一個參數,鍵為Isinit,值為false<?xml version="1.0"?> <configuration> <appSettings> <add key ="IsInit" value="false"/> </appSettings>
Time of Update: 2016-12-24
修改Webcong檔案:以下為引用的內容: <system.web> <httpRuntime maxRequestLength="40690" useFullyQualifiedRedirectUrl="true" executionTimeout="6000" useFullyQualifiedRedirectUrl="false" minFreeThreads="8"
Time of Update: 2016-12-22
顯式轉換與隱式轉換 類型之間的轉換可以分為隱式轉換與顯式轉換,如int類型可直接轉換為long類型。 /*隱式轉換*/ int intNum = 23; long longNum1 = intNum;也可進行顯式轉換; /*顯式轉換*/ int intNum = 23; long longNum2 = (long)intNum;Parse 每個實值型別都包含Parse()依法,它將字串轉換成對應的數實值型別] /*Parse轉換*/ string text = "3.1415926E1
Time of Update: 2016-12-22
null與voidnull值用來表示資料類型未被賦予任何值,它是一種參考型別;void表示沒有類型,或者說是沒有任何值。null與void的區別可以認為void是根本沒有,而null是一個空箱子,裡面什麼都沒有。null值只能賦值給參考型別,這裡注意到string也是一種參考型別;參考型別在C中稱為“指標”,即存放變數位置的記憶體空間位置。將變數設為null,會顯式地設定引用,且它本身不指向任何記憶體位置;null值賦給實值型別將導致編譯錯誤。void用於方法值的返回,其本質並不是一個資料類型,
Time of Update: 2016-12-22
C#預設情況下,若常數運算式的值超過了目標類型的最大值,將會導致編譯錯誤。若目標資料類型不能容納非常數運算式的資料,那麼資料在賦值時會被截斷。class Program { static void Main(string[] args) { int n = int.MaxValue;//n=2147483647 n = n + 1; System.Console.WriteLine(n); } }此時可用記憶體儲存資料來解釋,之前int.MaxValue在記憶體為為32位1,自加1後變為32位0
Time of Update: 2016-12-22
其中有《Java程式設計教程》是一個美籍華人的作品,還有Nicholas C.Zakes的《Javascript進階程式設計》,還有就是這本Illustrator C# 2008,中文譯為“插圖詳解C#2008”,實際上插圖不是很多。這是我第一次完整的讀原版書,感慨良深。一是我的英文居然還可以,想當初考六級還差了20多分,–!!二是老外寫書真的是用心在寫,對待自己的書就像對待自己的孩子一樣。以上是閑話,之前一直很想知道.net