C# .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);

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、穿过代理服务器取远程用户真实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("新建节点名");

创建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="这是<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();

posted @ 2007-11-11 17:23  新房客  阅读(126)  评论(0编辑  收藏  举报