本文实例总结了C#常见应用函数。分享给大家供大家参考,具体如下:
1、页面写CS代码(代码内嵌)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
<%@ Import Namespace= "System" %> <%@ Import Namespace= "System.Collections.Generic" %> <Script runat= "server" > public int userId = 0; protected void Page_Load( object sender, EventArgs e) { userId =Convert.ToInt32(Request.QueryString[ "UserID" ]); Response.Write(userId); } </Script> <% if (userId > 0){ msg = "欢迎登录!" ; } else { msg = "未找到用户" ; } %> <%= this .msg %> |
2、获取时间间隔
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
/// <summary> /// 获取时间间隔(模拟微博发布文章的时间间隔) /// </summary> /// <param name="date"></param> /// <returns></returns> public string GetDateStr(DateTime date) { if (date < DateTime.Now) { TimeSpan ts = DateTime.Now - date; if (ts.TotalHours < 1 && ts.TotalMinutes < 1) { return "1分钟前" ; } else if (ts.TotalHours < 1 && ts.TotalMinutes > 0) { return Convert.ToInt32(ts.TotalMinutes) + "分钟前" ; } else if (ts.TotalHours < 4) { return Convert.ToInt32(ts.TotalHours) + "小时前" ; } else if (DateTime.Now.Date == date.Date) { return date.ToString( "HH:mm" ); } else { return date.ToString( "yyyy-MM-dd" ); } } return date.ToString( "yyyy-MM-dd" ); } |
3、遍历Url中的参数列表
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
/// <summary> /// 遍历Url中的参数列表 /// </summary> /// <returns>如:(?userId=43&userType=2)</returns> public string GetUrlParam() { string urlParam = "" ; if (Request.QueryString.Count > 0) { urlParam = "?" ; NameValueCollection keyVals = Request.QueryString; foreach ( string key in keyVals.Keys) { urlParam += key + "=" + keyVals[key] + "&" ; } urlParam = urlParam.Substring(0, urlParam.LastIndexOf( '&' )); } return urlParam; } |
4、清除文本HTML码
1
2
3
4
5
6
7
8
9
10
|
using System.Text.RegularExpressions; /// <summary> /// 清除文本HTML码 /// </summary> public string RemoveHtmlTag( string htmlStr) { if ( string .IsNullOrEmpty(htmlStr)) return string .Empty; return Regex.Replace(htmlStr, @"<[^>]*>" , "" ); } |
5、反射 通过类名创建类实例
1
2
3
4
5
6
7
8
9
10
11
12
|
using System.Reflection; /// <summary> /// 反射 通过类名创建类实例 /// </summary> public void ReflecTest() { Object objClass = Assembly.GetExecutingAssembly().CreateInstance( "MyStudy.BLL.BookInfoBLL" ); //参数:类的完全限定名,无需类的后缀名 if (objClass != null ) { BookInfoBLL bll = (BookInfoBLL)objClass; } } |
6、货币类型转换
1
2
3
4
5
6
7
8
9
|
/// <summary> /// 货币 /// </summary> /// <param name="obj"></param> /// <returns></returns> public static string ToMoney( object obj) { return String.Format( "{0:C}" , obj); } |
7、小数点位数
1
2
3
4
5
6
7
8
9
10
11
12
|
//1.小数点位数 string str1 = String.Format( "{0:F1}" , 56789); //result: 56789.0 string str2 = String.Format( "{0:F2}" , 56789); //result: 56789.00 string str3 = String.Format( "{0:N1}" , 56789); //result: 56,789.0 string str4 = String.Format( "{0:N2}" , 56789); //result: 56,789.00 string str5 = String.Format( "{0:N3}" , 56789); //result: 56,789.000 string str6 = (56789 / 100.0).ToString( "#.##" ); //result: 567.89 string str7 = (56789 / 100).ToString( "#.##" ); //result: 567 //2.保留N位,四舍五入 . decimal d= decimal .Round( decimal .Parse( "0.55555" ),2); //3.保留N位四舍五入 Math.Round(0.55555, 2); |
8、使用TryGetValue改善获取字典值得性能
使用TryGetValue在大量取值时性能比ContainsKey提高一倍。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
Dictionary< int , String> dic = new Dictionary< int , String>(); dic.Add(1, "张三" ); dic.Add(2, "李四" ); string name = "" ; //错误写法,效率底 if (dic.ContainsKey(1)) { name = dic[1]; Console.WriteLine(name); } //正确写法,效率提高一倍 if (dic.TryGetValue(1, out name)) { Console.WriteLine(name); } |
希望本文所述对大家C#程序设计有所帮助。