C# http://www.php.cn/code/5392.html" target="_blank">常用函數
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);
1.19獲得當前時間是第幾周
using System.Globalization;
GregorianCalendar gc = new GregorianCalendar();
Console.WriteLine(gc.GetWeekOfYear(DateTime.Now,CalendarWeekRule.FirstDay,DayOfWeek.Monday));
1.20 計算兩個日期差
DateTime time1 =new DateTime(1982,4,24,14,23,06);
DateTime time2 =new DateTime(1982,1,21,8,16,32);
TimeSpan ts= time2.Subtract(time1);
string timespan = "相差:"
+ts.Days.ToString()+"天"
+ts.Hours.ToString()+"小時"
+ts.Minutes.ToString()+"分鐘"
+ts.Seconds.ToString()+"秒";
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、穿過Proxy 伺服器取遠端使用者真實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["變數"];
用超連結傳送變數。
如在任一頁中建超連結:<a href=Edit.aspx?fbid=23>點擊</a>
在Edit.aspx頁中取值:String str=Request.QueryString["fdid"];
12、DOC對象.createElement_x("建立節點名");
建立XML文檔新節點
13、父節點.AppendChild(子節點);
將建立的子節點加到XML文檔父節點下
14、 父節點.RemoveChild(節點);
刪除節點
15、Response
Response.Write("字串");
Response.Write(變數);
向頁面輸出。
Response.Redirect("URL地址");
跳轉到URL指定的頁面
16、char.IsWhiteSpce(字串變數,位元)——邏輯型
查指定位置是否Null 字元;
如:
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="這是<script>指令碼";
str=str.Replace("<","<font><</font>"); //將左角括弧替換為<font> 與 < 與 </font> (或換為<,但估計經XML存諸後,再提出仍會還原)
Response.Write(str); //顯示為:“這是<script>指令碼”
如果不替換,<script>將不顯示,如果是一段指令碼,將運行;而替換後,指令碼將不運行。
這段代碼的價值在於:你可以讓一個文本中的所有HTML標籤失效,全部顯示出來,保護你的具有互動性的網站。
具體實現:將你的表單提交按鈕指令碼加上下面代碼:
string strSubmit=label1.Text; //label1是你讓使用者提交資料的控制項ID。
strSubmit=strSubmit.Replace("<","<font><</font>");
然後儲存或輸出strSubmit。
用此方法還可以簡單實現UBB代碼。
22、Math.Max(i,j)
取i與j中的最大值
如 int x=Math.Max(5,10); // x將取值 10
23、字串對比一般都用: if(str1==str2){ } , 但還有別的方法:
(1)、
string str1; str2
//文法: str1.EndsWith(str2); 檢測字串str1是否以字串str2結尾,返回布爾值.如:
if(str1.EndsWith(str2)){ Response.Write("字串str1是以"+str2+"結束的"); }
(2)、
//文法:str1.Equals(str2); 檢測字串str1是否與字串str2相等,返回布爾值,用法同上.
(3)、
//文法 Equals(str1,str2); 檢測字串str1是否與字串str2相等,返回布爾值,用法同上.
24、IndexOf() 、LastIndexOf()
尋找字串中指定字元或字串首次(最後一次)出現的位置,返回索引值,如:
str1.IndexOf("字"); //尋找“字”在str1中的索引值(位置)
str1.IndexOf("字串");//尋找“字串”的第一個字元在str1中的索引值(位置)
str1.IndexOf("字串",3,2);//從str1第4個字元起,尋找2個字元,尋找“字串”的第一個字元在str1中的索引值(位置)
25、Insert()
在字串中指定索引位插入指定字元。如:
str1.Insert(1,"字");在str1的第二個字元處插入“字”,如果str1="中國",插入後為“中字國”;
26、PadLeft()、PadRight()
在字串左(或右)加空格或指定char字元,使字串達到指定長度,如:
<%
string str1="中國人";
str1=str1.PadLeft(10,'1'); //無第二參數為加空格
Response.Write(str1); //結果為“1111111中國人” , 字串長為10
%>
27、Remove()
從指定位置開始刪除指定數的字元
<%
string str1="我是海珊的崇拜者之一";
Response.Write(str1.Remove(5,4)); //結果為“我是海珊之一”
%>
28 MD5加密
private static string MD5(string str)
{
MD5 md5 = new MD5CryptoServiceProvider();
byte[] result = md5.ComputeHash(System.Text.Encoding.Default.GetBytes(str));
string str2 = "";
for(int i=0;i<result.Length;i++)
{
str2 += string.Format("{0:x}",result[i]);
}
return str2.ToLower ();
}
30 DataGrid的鍵盤的下鍵
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == Keys.Down)
{
MessageBox.Show("down");
}
return base.ProcessCmdKey (ref msg, keyData);
}
31 ASP.NET 帶參數 exe 檔案
System.Diagnostics.Process.Start("cmd",@"/c mysqldump --user=root --password=123 mysql > c:/db.sql -t");//用途最多的
System.Diagnostics.Process.Start("notepad.exe","c://record.txt");
System.Diagnostics.Process.Start("IEXPLORE.EXE","http://jnjx.126.com");
32 綁定DataGrid指定的行數
BindingManagerBase bm=dataGrid1.BindingContext[dataGrid1.DataSource,dataGrid1.DataMember];
if(bm.Count==0){return;}
DataRow dr=((System.Data.DataRowView)bm.Current).Row;
33 C#調出Outlook介面並發送郵件
System.Diagnostics.Process.Start( "mailto:abc@abc.com?subject=標題&body=郵件內容");
調用dos程式,不會顯示dos介面
System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo.FileName="cmd.exe";
p.StartInfo.UseShellExecute=false;
p.StartInfo.RedirectStandardInput=true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.CreateNoWindow = true;
p.Start();
p.StandardInput.WriteLine("net start mysql");
p.StandardInput.WriteLine("exit");
p.StandardOutput.ReadToEnd();
p.Close();