DOTNET_CSharp之SPARON總結
初學最好使用單步調試方式(F11)來運行程式,這樣有助於理解程式內部運行機制。
邏輯運算式運算子... 2
正則表達式語法... 2
嵌套類型的訪問修飾符... 3
構造類... 3
代理(委託)... 4
資料庫建立串連... 4
邏輯運算式運算子
運算元1 |
運算元2 |
運算子 |
結果 |
規則 |
True |
True |
&& AND 邏輯與 |
True |
一個為False即為False |
True |
False |
False |
False |
True |
False |
False |
False |
False |
True |
True |
|| OR 邏輯或 |
True |
至少一個運算元為True |
True |
False |
True |
False |
True |
True |
False |
False |
False |
True |
True |
^ XOR 邏輯異或 |
False |
兩個運算元相同即為False |
True |
False |
True |
False |
True |
True |
False |
False |
False |
正則表達式語法
正則表達式單字元類
類 |
同義表達式 |
描述 |
\d |
[0-9] |
任何數字 |
\D |
[^0-9] |
任何非數字 |
\ws |
‘[A-Za-z0-9_]’ |
任何單詞字元 |
\W |
‘[^A-Za-z0-9_]’ |
任何非單詞字元 |
\s |
[\f\n\r\t\v] |
任何空白字元 |
\SW |
[^\f\n\r\t\v] |
任何非空白字元 |
範圍字元類和集合字元類
格式 |
描述 |
. |
除了換行之外的任何字元 |
\p{uc} |
Unicode字元類型uc內的任何字元 |
[abcxyz] |
該集合中的任何語義字元 |
\P{uc} |
任何不屬於Unicode字元類型uc的字元 |
[^abcxyz] |
這組語義字元之外的任何字元 |
字元類量詞
格式 |
描述 |
* |
0或更多個字元 |
+ |
1或更多個字元 |
? |
0或1個字元 |
{n} |
正好n個字元 |
{n,} |
至少n個字元 |
{n,m} |
至少n個字元,但不多於m個字元 |
位置(原子零寬度)斷言
格式 |
描述 |
^ |
字串的開始或新行的開始 |
\z |
字串的結尾,包括換行符 |
$ |
換行符之前或該行末的字串結尾 |
\G |
從上一次匹配結束的地方開始 |
\A |
字串的開始 |
\b |
出現在字元邊界(字母數字和非字母數字)的匹配 |
\Z |
換行符之前的字串結尾 |
\B |
並非出現在單詞邊界的字元 |
嵌套類型的訪問修飾符
訪問修飾符 |
訪問權限 |
public |
無限制使用類 |
Protected |
只有從這個包含類(containing class)派生的類才可以使用這個嵌套類 |
Private |
這個包含類對嵌套類擁有獨佔訪問權 |
internal |
只有同一程式集中的代碼才可以使用這個嵌套類 |
Protected internal |
同一程式及中的所有代碼或從這個包含類派生的外部程式集中的代碼都可以使用這個嵌套類 |
構造類
代理(委託)
建立單播代理(委託)步驟
1. Protected internal Delegate Mydelegate (string name); //聲明一個代理並指定傳入參數類型
2. Public void ProcessName(Mydelegate MydelegateProcessName)
{
if (name!=null)
// Calling the delegate:
MydelegateProcessName (name);
}
3. ProcessName(new Mydelegate (MydelegateProcessName));
4. static void MydelegateProcessName (string name)//創建一個方法用於處理代理,要求其參數必須與聲明代理時指定類型一致
{
console.WriteLine (“The process name is {0}”,name);
}
資料庫建立串連
建立資料庫連接的步驟
1. string connectionstring = “Integrated Security=SSPI;Data Source=IP;Initial Catalog=DataBaseName;”;//定義資料庫連接字串還可將Integrated Security=SSPI;改為UID=UserName;Pwd=PassWord;
2. SqlConnection connection = new SqlConnection (connectionstring);//傳入資料庫連接字串構造資料庫連接對象
3. string sqlstr=”Select * From Products”;//定義SQL資料庫查詢字串
4. SqlCommand selectCommand = new SqlCommand (sqlstr,connection);//構造資料庫連接對象
5. SqlDataAdapter dataAdapter = new SqlDataAdapter (selectCommand);//構造一個資料庫適配器
6. connection.open();//開啟資料庫
7. Dataset productsDS = new DataSet();//定義資料集合
8. dataAdapter.Fill(productsDS);//用dataAdapter填充資料集合
9. connection.close();//因為使用了資料集合所以可以離線瀏覽
建立遠程主機串連
1. private Socket socket_c2s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);//聲明一個連線物件
2. IPAddress myIP = IPAddress.Parse(“172.16.18.1”); //使用IP地址構造IPAddress對象
3. IPEndPoint ipe = new IPEndPoint(myIP,Convert.ToInt32(“80”));//將串連連接埠號碼傳入對象中
4. socket_c2s.Connect(ipe);//嘗試串連
5. /* 接受串連、讀取資料、發送資料 參考MYQQserver 程式 */