在学习C#过程中的一些总结和收集的一些材料望对初学者有用
DOTNET_CSharp之SPARON總結
初學最好使用單步調試方式(F11)來運行程序,這樣有助於理解程序内部運行機制。
逻辑表达式运算符
操作数1 |
操作数2 |
运算符 |
结果 |
规则 |
True |
True |
&& |
True |
一个为False即为False |
True |
False |
False |
||
False |
True |
False |
||
False |
False |
False |
||
True |
True |
|| |
True |
至少一个操作数为True |
True |
False |
True |
||
False |
True |
True |
||
False |
False |
False |
||
True |
True |
^ |
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.
3. IPEndPoint ipe = new IPEndPoint(myIP,Convert.ToInt32(“
4. socket_c2s.Connect(ipe);//尝试连接
5. /* 接受连接、读取数据、发送数据 参考MYQQserver 程序 */