本文实例总结了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#程序设计有所帮助。