2014年11月14日 星期五

[C#]常用函式彙整

[初學區查詢]

using System; => #include xxx


Console.WriteLine("Hello C#.");
Console.Read();

陣列宣告:(引用至一維陣列 (C# 程式設計手冊)
int[] int_ray = new int[10]; //宣告整數空陣列
string[] string_Ary = new string[10]; //宣告字串空陣列
int[] int_ary = new int[] { 2, 4, 6, 8, 10, 12 }; //宣告int陣列 並動態給值


多維陣列&迭代陣列宣告

int[,] sample = new int[3, 4];        // 宣告二維整數陣列
foreach(type varname in collection) //迭代陣列宣告

字串宣告
string str = "In C#, strings are objects."; //建構初始化字串    


Console.WriteLine(str);


三元運算

              Boolean result = (a.Equals(b)) ? true : false;

              return result;

IN


[檔案及log生成]

[檢查文件夾並生成:]
         if (!Directory.Exists("C:\\Testlog\\PASS"))
         {            
             Directory.CreateDirectory("C:\\Testlog\\PASS");

         }

[批次log文件生成後續寫入:]
        public void AppendStepLogText(String PID, String context)
        {
            if(PID.Length <= 0)
            {
                File.AppendAllText("C:\\Testlog\\FAIL\\"+Today+".txt", "\r\n" + Todaymillisecond + "\t" + "[STEP]" + count.ToString() + ":" + context);
            }
            if (PID.Length > 0)
            {
                File.AppendAllText("C:\\Testlog\\FAIL\\"+PID+".txt", "\r\n" + Todaymillisecond + "\t" + "[STEP]" + count.ToString() + ":" + context);
            }
            count++;
        }


[單次log檔生成直接寫入:]
 StringBuilder sb = new StringBuilder();
 sb.Append("Active FTM success");
 sb.AppendLine();
using (StreamWriter outfile = new StreamWriter("C:\\Testlog\\PASS\\" + PID + ".txt"))
                    {
                        outfile.Write(sb.ToString()); 
                    }



[常用函式區]



比對&找尋字串
var isContain = "HELLO,IamAString".IndexOf("string", StringComparison.OrdinalIgnoreCase) >= 0;

[C#底層硬體控制]

[COM Port]

2.c# combobox comport互斥




利用thread更新ui

引用自:http://wildwind.pixnet.net/blog/post/16777462-c%23.net常用函數和方法集匯總

1、DateTime 數位型 
System.DateTime currentTime=new System.DateTime(); 
1.1 取當前年月日時分秒 
currentTime=System.DateTime.Now; 
1.2 取當前年 
int 年=currentTime.Year; 
1.3 取當前月 
int 月=currentTime.Month; 
1.4 取當前日 
int 日=currentTime.Day; 
1.5 取當前時 
int 時=currentTime.Hour; 
1.6 取當前分 
int 分=currentTime.Minute; 
1.7 取當前秒 
int 秒=currentTime.Second; 
1.8 取當前毫秒 
int 毫秒=currentTime.Millisecond; 
(變數可用中文) 

1.9 取中文日期顯示——年月日時分 
string strY=currentTime.ToString("f"); //不顯示秒 

1.10 取中文日期顯示_年月 
string strYM=currentTime.ToString("y"); 

1.11 取中文日期顯示_月日 
string strMD=currentTime.ToString("m"); 

1.12 取中文年月日 
string strYMD=currentTime.ToString("D"); 

1.13 取當前時分,格式為:14:24 
string strT=currentTime.ToString("t"); 

1.14 取當前時間,格式為:2003-09-23T14:46:48 
string strT=currentTime.ToString("s"); 

1.15 取當前時間,格式為:2003-09-23 14:48:30Z 
string strT=currentTime.ToString("u"); 

1.16 取當前時間,格式為:2003-09-23 14:48 
string strT=currentTime.ToString("g"); 

1.17 取當前時間,格式為:Tue, 23 Sep 2003 14:52:40 GMT 
string strT=currentTime.ToString("r"); 

1.18獲得當前時間 n 天後的日期時間 
DateTime newDay = DateTime.Now.AddDays(100); 

2、Int32.Parse(變數) Int32.Parse("常量") 
字元型轉換 轉為32位數位型 

3、 變數.ToString() 
字元型轉換 轉為字元串 
12345.ToString("n"); //產生 12,345.00 
12345.ToString("C"); //產生 ¥12,345.00 
12345.ToString("e"); //產生 1.234500e+004 
12345.ToString("f4"); //產生 12345.0000 
12345.ToString("x"); //產生 3039 (16進制) 
12345.ToString("p"); //產生 1,234,500.00% 


4、變數.Length 數位型 
取字串長度: 
如: string str="中國"; 
int Len = str.Length ; //Len是自訂變數, str是求測的字串的變數名 

5、System.Text.Encoding.Default.GetBytes(變數) 
字碼轉換 轉為比特碼 
如:byte[] bytStr = System.Text.Encoding.Default.GetBytes(str); 
然後可得到比特長度: 
len = bytStr.Length; 

6、System.Text.StringBuilder("") 
字元串相加,(+號是不是也一樣?) 
如:System.Text.StringBuilder sb = new System.Text.StringBuilder(""); 
sb.Append("中華"); 
sb.Append("人民"); 
sb.Append("共和國"); 

7、變數.Substring(參數1,參數2); 
截取字串的一部分,參數1為左起始位數,參數2為截取幾位。 
如:string s1 = str.Substring(0,2); 

8、String user_IP=Request.ServerVariables["REMOTE_ADDR"].ToString(); 
取遠端用戶IP位址 

9、穿過代理伺服器取遠端用戶真實IP位址: 
if(Request.ServerVariables["HTTP_VIA"]!=null){ 
string user_IP=Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString(); 
}else{ 
string user_IP=Request.ServerVariables["REMOTE_ADDR"].ToString(); 


10、 Session["變數"]; 
存取Session值; 
如,賦值: Session["username"]="小布什"; 

取值: Object objName=Session["username"]; 
String strName=objName.ToString(); 
清空: Session.RemoveAll(); 

11、String str=Request.QueryString["變數"]; 
用超連接傳送變數。 
如在任一頁中建超連接:點擊 
在Edit.aspx頁中取值:String str=Request.QueryString["fdid"]; 

12、DOC對像.CreateElement("新增節點名"); 
新增XML我的文件新節點 

13、父節點.AppendChild(子節點); 
將新增的子節點加到XML我的文件父節點下 

14、 父節點.RemoveChild(節點); 
移除節點 

15、Response 
Response.Write("字串"); 
Response.Write(變數); 
向頁面輸出。 

Response.Redirect("URL位址"); 
跳轉到URL指定的頁面 

16、char.IsWhiteSpce(字串變數,位數)——邏輯型 
查指定位置是否空字元; 
如: 
string str="中國 人民"; 
Response.Write(char.IsWhiteSpace(str,2)); //結果為:True, 第一個字元是0位,2是第三個字元。 

17、char.IsPunctuation('字元') --邏輯型 
查字元是否是標點符號 
如:Response.Write(char.IsPunctuation('A')); //返回:False 

18、(int)'字元' 
把字元轉為數位,查程式碼點,注意是單引號。 
如: 
Response.Write((int)'中'); //結果為中字的程式碼:20013 

19、(char)程式碼 
把數位轉為字元,查程式碼代表的字元。 
如: 
Response.Write((char)22269); //返回「國」字。 

20、 Trim() 
清除字串前後空格 

21 、字串變數.Replace("子字串","取代為") 
字串取代 
如: 
string str="中國"; 
str=str.Replace("國","央"); //將國字換為央字 
Response.Write(str); //輸出結果為「中央」 

再如:(這個非常實用) 

string str="這是

沒有留言:

張貼留言