好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

C#常见应用函数实例小结

本文实例总结了C#常见应用函数。分享给大家供大家参考,具体如下:

1、页面写CS代码(代码内嵌)

?

<%@ 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、获取时间间隔

?

/// <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中的参数列表

?

/// <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码

?

using System.Text.RegularExpressions;

/// <summary>

/// 清除文本HTML码

/// </summary>

public string RemoveHtmlTag( string htmlStr)

{

   if ( string .IsNullOrEmpty(htmlStr))

     return string .Empty;

   return Regex.Replace(htmlStr, @"<[^>]*>" , "" );

}

5、反射 通过类名创建类实例

?

using System.Reflection;

/// <summary>

/// 反射 通过类名创建类实例

/// </summary>

public void ReflecTest()

{

   Object objClass = Assembly.GetExecutingAssembly().CreateInstance( "MyStudy.BLL.BookInfoBLL" ); //参数:类的完全限定名,无需类的后缀名

   if (objClass != null )

   {

     BookInfoBLL bll = (BookInfoBLL)objClass;

   }

}

6、货币类型转换

?

/// <summary>

/// 货币

/// </summary>

/// <param name="obj"></param>

/// <returns></returns>

public static string ToMoney( object obj)

{

   return String.Format( "{0:C}" , obj);

}

7、小数点位数

?

//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提高一倍。

?

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#程序设计有所帮助。

dy("nrwz");

查看更多关于C#常见应用函数实例小结的详细内容...

  阅读:41次