C#常见应用函数实例小结
程序员文章站
2022-05-09 08:09:53
本文实例总结了c#常见应用函数。分享给大家供大家参考,具体如下:
1、页面写cs代码(代码内嵌)
<%@ import namespace="system...
本文实例总结了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#相关内容感兴趣的读者可查看本站专题:《c#常见控件用法教程》、《winform控件用法总结》、《c#数据结构与算法教程》、《c#面向对象程序设计入门教程》及《c#程序设计之线程使用技巧总结》
希望本文所述对大家c#程序设计有所帮助。
下一篇: 路由器未接地引起的无法拨号故障解决