Time of Update: 2017-01-18
題外話:學習.NET已經有一年了,從C#->ASP.NET->WPF。主要以看電子書為主,比較少寫代碼。現在回頭學習以前接觸過的,隨著知識與經驗的的積累。 總是有各種驚喜,震驚!C#數組就是其中之一,我把它作為自己部落格園的處女作。 C#數組與其它C系列語言有著很多的不同,以前接觸的時候理解出現很大的偏差。尤其是對多維陣列的認識。多維陣列與C語言相比是一個新概念。而最開始的 時候我把它當成交錯數組的特殊類型。 首先重二維數組與簡單的交錯數組的初始化與訪問開始 複製代碼 代碼如下:
Time of Update: 2017-01-18
W3C制定了XML DOM標準。很多程式設計語言中多提供了支援W3C XML DOM標準的API。我在之前的文章中介紹過如何使用Javascript對XML文檔進行載入與查詢。在本文中,我來介紹一下.Net中的XmlDocument類。它支援並擴充了W3C XML
Time of Update: 2017-01-18
W3C制定了XML DOM標準,.Net為了支援W3C的標準,從1.1版本開始就引入了XmlDocument類。我在前一篇部落格中,介紹了如何使用XmlDocument類來對XML文檔進行操作。後來 .Net又引入了LINQ,於是LINQ to XML也就應運而生,所以在.Net中,不僅可以用W3C XML DOM標準,還可以使用LINQ to XML來操作XML文檔。下面就來簡單介紹一下如何使用LINQ to XML。 (一) 載入 載入XML比較常用的有三種方法: 複製代碼 代碼如下:
Time of Update: 2017-01-18
在系統的管理員有著實際的應用,對於一個資料庫管理系統來說,資料庫安全還是挺重要的,所以在存入到資料庫的密碼通常都是加密的。即使有著hack攻破資料庫後,也不會那樣的容易的盜取你的帳號和密碼,這樣可以減輕你的不必要的損失。好吧,下面就是一些基本的實現代碼: 加密的代碼格式是一樣的: 第一步:複製代碼 代碼如下: <span style="font-size: 16px; color:
Time of Update: 2017-01-18
許多小公司的項目都缺少異常處理模組,我們也是。經常會出現這種情況,使用者在UI介面操作,就直接跳出堆棧調用的異常資訊對話方塊,老闆看到那叫一個火啊!你們的代碼怎麼天天出現亂碼。呵呵!這就是沒有異常捕獲處理導致的,現在許多人寫代碼都沒意識處理異常,只要實現功能就好,我的許多組員也是如此。 項目剛接手,所以打算做一個異常全域捕獲,統一處理的模式,採用具體詳細資料的對話方塊提醒與記錄檔儲存方式。以下是根據網上找的C#winform全域異常捕獲做了點修改。(等項目異常處理全部完成後,將心得體會做個記錄,
Time of Update: 2017-01-18
在.Net中,對檔案(File)和檔案夾(Folder)的操作可以使用File類和Directory類,也可以使用FileInfo類和DirectoryInfo類。檔案夾(Folder)是只在Windows作業系統中使用的名詞。在作業系統的理論中,人們更習慣於使用目錄(Directory)這個名詞。或許微軟為了有朝一日將.Net移植到其他的作業系統中(實際上也有很多人也在做著這個項目),所以還是以Directory來命名操作檔案夾的類。
Time of Update: 2017-01-18
用於修飾類,方法,屬性和欄位的關鍵字: 首先從最簡單的private,protected,internal,public 解釋。 public 和internal 修飾類。 public,protected,private 修飾方法。 修飾類的時候: public 代表公開,也就是所有程式集都可以訪問這個類。 internal 代表內部的,也就是只有在同一程式集中才能訪問這個類,一般而言同一程式集就是同一個dll。 修飾方法的時候: public
Time of Update: 2017-01-18
引言: 在上一個專題中介紹了C#2.0 中引入泛型的原因以及有了泛型後所帶來的好處,然而上一專題相當於是介紹了泛型的一些基本知識的,對於泛型的效能為什麼會比非泛型的效能高卻沒有給出理由,所以在這個專題就中將會介紹原因和一些關於泛型的其他知識。 一、泛型型別和型別參數 泛型型別和其他int,string一樣都是一種類型,泛型型別有兩種表現形式的:泛型型別(包括類、介面、委託和結構,但是沒有泛型枚舉的)和泛型方法。那什麼樣的類、介面、委託和方法才稱作泛型型別的呢
Time of Update: 2017-01-18
緣起: 在玩Codeblocks內建的俄羅斯方塊時覺得不錯,然而有時間限制。所以想自己再寫一個。程式效果:主要內容: 程式中有一個board數組,其中有要顯示的部分,也有不顯示的部分,不顯示的部分都儲存1。 如下圖: shape採用4*4數組(shape)儲存。如: 0 0 0 0 0 1 0 0 1 1 1 0 0 0 0
Time of Update: 2017-01-18
原因如下: Delete()之後需要datatable.AccepteChanges()方法確認完全刪除,因為Delete()只是將相應列的狀態標誌為刪除, 還可以通過datatable.RejectChanges()復原,使該行取消刪除。 如果要徹底刪除datarow,需要Delete()和AccepteChanges()方法同時使用,或者採用datatable.Rows.RemoveAt(i)方法直接刪除,
Time of Update: 2017-01-18
直接貼代碼: 複製代碼 代碼如下: public class OSInfoMation { public static string OSBit() { try { ConnectionOptions oConn = new ConnectionOptions(); System.Management.ManagementScope managementScope = new System.Management.ManagementScope("\\\\localhost", oConn);
Time of Update: 2017-01-18
代碼很簡單,這裡就不多廢話了,直接奉上:#include <iostream>using namespace std; int* reverse(int* list, int size){ for (int i = 0, j = size - 1; i < j; i++, j--) { // Swap list[i] with list[j] int temp = list[j]; list[j] = list[i]; list[i] = temp; }
Time of Update: 2017-01-18
什麼是位元組對齊,為什麼要對齊?現代電腦中記憶體空間都是按照byte劃分的,從理論上講似乎對任何類型的變數的訪問可以從任何地址開始,但實際情況是在訪問特定類型變數的時候經常在特
Time of Update: 2017-01-18
宏不遵循C++中關於範圍和類型的規則。這經常導致一些微妙的或不那麼微妙的問題。因此,C++提供更適合其他的C++(譯註:原文為the rest of C++,當指C++除了相容C 以外的部分)的替代品,例如內嵌函式、模板與名字空間。考慮一下:#include "someheader.h"struct S { int alpha; int
Time of Update: 2017-01-18
在C++中,new運算式用於動態建立對象,即在堆(自由儲存區)空間上為對象分配記憶體,而程式員也要小心的使用這些申請來的記憶體空間,當不再使用時應該調用delete運算式來釋放該儲存空間並且將指標置零。 本文學習了如何動態建立對象,動態建立的對象與一般對象的區別,動態建立的對象的初始化以及釋放動態分配的記憶體等知識點。C++中分配的記憶體大致有三類:靜態儲存區,棧記憶體和堆記憶體其中,靜態儲存區是在程式編譯階段就已經分配好的,用於全域變數,static變數等;堆棧是比較常用的Object
Time of Update: 2017-01-18
1 define 只是簡單地文本替換。2 每個機器的字長不同。3 每個類型在不同的機器上,所佔用的記憶體空間不同。4 每個機器內部的位元組大小端不同。5 並不是所有的編譯器或機器都支援最新的C++標準。6 並非所有的編譯器都是從右往左執行單行的多個運算式。7 返回struct時,各個機器有不同的最佳化手段。因此最好使用指標或引用。8 並非所有的運算子都可以重載,並非""不能重載。9 並非所有的編譯器都支援'\uxxx'的Unicode。10 並非所有的預設值都為0。11
Time of Update: 2017-01-18
#define命令#define定義了一個標識符及一個串。在來源程式中每次遇到該標識符時,均以定義的串代換它。ANSI標準將標識符定義為宏名,將替換過程稱為宏替換。命令的一般形式為:#define identifier string注意:1.該語句沒有分號。在標識符和串之間可以有任意個空格,串一旦開始,僅由一新行結束。2.宏名定義後,即可成為其它宏名定義中的一部分。3.宏替換僅僅是以文本串代替宏標識符,前提是宏標識符必須獨立的識別出來,否則不進行替換。例如:#define XYZ this
Time of Update: 2017-01-18
C++中數組很坑,有沒有類似Python中list的資料類型呢?類似的就是vector! vector 是同一種類型的對象的集合 ,每個對象都有一個對應的整數索引值。和 string 對象一樣,標準庫將負責管理與儲存元素相關的記憶體。 我們把 vector 稱為容器,是因為它可以包含其他對象 。 一個容器中的所有對象都必須是同一種類型的 。vector對象的定義和初始化同樣的,使用前,匯入標頭檔#include <vector> 可以使用using聲明:using
Time of Update: 2017-01-18
vectorvector是相同類型對象的集合。集合中的每個對象有個對應的索引。vector常被稱為容器(container)。為了使用vector,需要:#include <vector>using std::vector;vector是一個類模版(class template)。C++有函數模版和類模版。模版本身不是函數或類,必須通過指定 類型讓編譯器去執行個體化(instantiation)它。比如vector<int>
Time of Update: 2017-01-18
vector簡介vector是STL中最常見的容器,它是一種順序容器,支援隨機訪問。vector是一塊連續分配的記憶體,從資料安排的角度來講,和數組極其相似,不同的地方就是:數組是靜態分配空間,一旦分配了空間的大小,就不可再改變了;而vector是動態分配空間,隨著元素的不斷插入,它會按照自身的一套機制不斷擴充自身的容量。vector的擴充機制:按照容器現在容量的一倍進行增長。vector容器分配的是一塊連續的記憶體空間,每次容器的增長,並不是在原有連續的記憶體空間後再進行簡單的疊加,而是重新申