当前位置: 移动技术网 > IT编程>开发语言>c# > C#常见应用函数实例小结

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

2019年07月18日  | 移动技术网IT编程  | 我要评论

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

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网