C#应用函数

1、页面写CS代码(代码内嵌)

2、获取时间间隔

3、遍历Url中的参数列表

4、清除文本HTML码

5、反射 通过类名创建类实例

6、货币类型转换

7、小数点位数

8、使用TryGetValue改善获取字典值得性能

9、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);
}

9、C#延时程序

//延时1000毫秒
System.Threading.Thread.Sleep(1000);






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

pan_junbiao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值