C#常见应用函数实例小结
本文实例总结了C#常见应用函数。分享给大家供大家参考,具体如下:
1、页面写CS代码(代码内嵌)
<%@ImportNamespace="System"%>
<%@ImportNamespace="System.Collections.Generic"%>
<Scriptrunat="server">
publicintuserId=0;
protectedvoidPage_Load(objectsender,EventArgse)
{
userId=Convert.ToInt32(Request.QueryString["UserID"]);
Response.Write(userId);
}
</Script>
<%
if(userId>0){
msg="欢迎登录!";
}
else{
msg="未找到用户";
}
%>
<%=this.msg%>
2、获取时间间隔
///<summary>
///获取时间间隔(模拟微博发布文章的时间间隔)
///</summary>
///<paramname="date"></param>
///<returns></returns>
publicstringGetDateStr(DateTimedate)
{
if(date<DateTime.Now)
{
TimeSpants=DateTime.Now-date;
if(ts.TotalHours<1&&ts.TotalMinutes<1)
{
return"1分钟前";
}
elseif(ts.TotalHours<1&&ts.TotalMinutes>0)
{
returnConvert.ToInt32(ts.TotalMinutes)+"分钟前";
}
elseif(ts.TotalHours<4)
{
returnConvert.ToInt32(ts.TotalHours)+"小时前";
}
elseif(DateTime.Now.Date==date.Date)
{
returndate.ToString("HH:mm");
}
else
{
returndate.ToString("yyyy-MM-dd");
}
}
returndate.ToString("yyyy-MM-dd");
}
3、遍历Url中的参数列表
///<summary>
///遍历Url中的参数列表
///</summary>
///<returns>如:(?userId=43&userType=2)</returns>
publicstringGetUrlParam()
{
stringurlParam="";
if(Request.QueryString.Count>0)
{
urlParam="?";
NameValueCollectionkeyVals=Request.QueryString;
foreach(stringkeyinkeyVals.Keys)
{
urlParam+=key+"="+keyVals[key]+"&";
}
urlParam=urlParam.Substring(0,urlParam.LastIndexOf('&'));
}
returnurlParam;
}
4、清除文本HTML码
usingSystem.Text.RegularExpressions;
///<summary>
///清除文本HTML码
///</summary>
publicstringRemoveHtmlTag(stringhtmlStr)
{
if(string.IsNullOrEmpty(htmlStr))
returnstring.Empty;
returnRegex.Replace(htmlStr,@"<[^>]*>","");
}
5、反射通过类名创建类实例
usingSystem.Reflection;
///<summary>
///反射通过类名创建类实例
///</summary>
publicvoidReflecTest()
{
ObjectobjClass=Assembly.GetExecutingAssembly().CreateInstance("MyStudy.BLL.BookInfoBLL");//参数:类的完全限定名,无需类的后缀名
if(objClass!=null)
{
BookInfoBLLbll=(BookInfoBLL)objClass;
}
}
6、货币类型转换
///<summary>
///货币
///</summary>
///<paramname="obj"></param>
///<returns></returns>
publicstaticstringToMoney(objectobj)
{
returnString.Format("{0:C}",obj);
}
7、小数点位数
//1.小数点位数
stringstr1=String.Format("{0:F1}",56789);//result:56789.0
stringstr2=String.Format("{0:F2}",56789);//result:56789.00
stringstr3=String.Format("{0:N1}",56789);//result:56,789.0
stringstr4=String.Format("{0:N2}",56789);//result:56,789.00
stringstr5=String.Format("{0:N3}",56789);//result:56,789.000
stringstr6=(56789/100.0).ToString("#.##");//result:567.89
stringstr7=(56789/100).ToString("#.##");//result:567
//2.保留N位,四舍五入.
decimald=decimal.Round(decimal.Parse("0.55555"),2);
//3.保留N位四舍五入
Math.Round(0.55555,2);
8、使用TryGetValue改善获取字典值得性能
使用TryGetValue在大量取值时性能比ContainsKey提高一倍。
Dictionary<int,String>dic=newDictionary<int,String>();
dic.Add(1,"张三");
dic.Add(2,"李四");
stringname="";
//错误写法,效率底
if(dic.ContainsKey(1))
{
name=dic[1];
Console.WriteLine(name);
}
//正确写法,效率提高一倍
if(dic.TryGetValue(1,outname))
{
Console.WriteLine(name);
}
更多关于C#相关内容感兴趣的读者可查看本站专题:《C#常见控件用法教程》、《WinForm控件用法总结》、《C#数据结构与算法教程》、《C#面向对象程序设计入门教程》及《C#程序设计之线程使用技巧总结》
希望本文所述对大家C#程序设计有所帮助。