欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-11-21 13:17:06
本文实例总结了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#程序设计有所帮助。