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

 更新时间:2017年01月25日 10:17:28   作者:pan_junbiao  
这篇文章主要介绍了C#常见应用函数,结合实例形式总结分析了C#常用的时间、URL、HTML、反射、小数运算等相关函数,需要的朋友可以参考下

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

相关文章

  • C#使用Process类调用外部exe程序

    C#使用Process类调用外部exe程序

    本文通过两个示例讲解了一下Process类调用外部应用程序的基本用法,并简单讲解了StartInfo属性,有需要的朋友可以参考一下。
    2016-03-03
  • C#中this用法系列(二) 通过this修饰符为原始类型扩展方法

    C#中this用法系列(二) 通过this修饰符为原始类型扩展方法

    定义一个静态类,类中定义静态方法,方法中参数类型前边加上this修饰符,即可实现对参数类型的方法扩展,下面通过实例代码给大家介绍下,需要的朋友参考下吧
    2016-12-12
  • C#利用Refit实现JWT自动续期详解

    C#利用Refit实现JWT自动续期详解

    Refit 是一个受到Square的Retrofit库(Java)启发的自动类型安全REST库,这篇文章主要为大家介绍了C#如何利用Refit实现JWT自动续期,感兴趣的可以了解下
    2023-08-08
  • WPF实现炫酷的界面交互效果的代码详解

    WPF实现炫酷的界面交互效果的代码详解

    在当今竞争激烈的软件市场中,用户界面的交互体验至关重要,一个拥有炫酷动画特效的应用程序,不仅能吸引用户的注意力,还能显著提升用户与界面的交互流畅度和愉悦感,本文将深入剖析WPF动画特效的各个方面,通过大量详细的代码示例和对关键概念的深入解释
    2025-02-02
  • C#中的委托和事件

    C#中的委托和事件

    这篇文章介绍了C#中的委托和事件,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • C# 如何合并和拆分PDF文件

    C# 如何合并和拆分PDF文件

    这篇文章主要介绍了C# 如何合并和拆分PDF文件,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下
    2021-01-01
  • C#中重载重写和覆盖的定义与区别

    C#中重载重写和覆盖的定义与区别

    今天小编就为大家分享一篇关于C#中重载重写和覆盖的定义与区别,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-10-10
  • C#实现汉字转拼音或转拼音首字母的方法

    C#实现汉字转拼音或转拼音首字母的方法

    这篇文章主要介绍了C#实现汉字转拼音或转拼音首字母的方法,涉及C#操作数组、遍历及正则匹配的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • C#实现在两个数字之间生成随机数的方法

    C#实现在两个数字之间生成随机数的方法

    这篇文章主要介绍了C#实现在两个数字之间生成随机数的方法,在一些特殊场景会用到哦,需要的朋友可以参考下
    2014-08-08
  • 使用C#如何创建人名或其他物体随机分组

    使用C#如何创建人名或其他物体随机分组

    文章描述了一个随机分配人员到多个团队的代码示例,包括将人员列表随机化并根据组数分配到不同组,最后按组号排序显示结果
    2025-01-01

最新评论