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

作者:pan_junbiao 时间:2022-10-17 02:35:46 

本文实例总结了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#,函数
0
投稿

猜你喜欢

  • SpringBoot自动装配原理小结

    2023-11-18 16:54:06
  • Android 如何获取设备唯一标识

    2022-09-03 10:47:48
  • C#文件操作的简单实例

    2021-12-14 16:50:40
  • Spring@Value使用获取配置信息为null的操作

    2021-08-01 23:46:27
  • SpringBoot事件发布和监听详解

    2022-04-18 02:39:59
  • 使用adb命令向Android模拟器中导入通讯录联系人的方法

    2022-12-21 15:39:56
  • Android发布项目到jitpack的完整步骤

    2021-11-29 08:42:10
  • springboot前端传参date类型后台处理的方式

    2023-04-12 16:47:35
  • Maven依赖作用域和依赖传递的使用

    2022-07-24 19:08:33
  • Java实现动态获取文件的绝对路径

    2022-12-19 00:34:14
  • C#编程获取资源文件中图片的方法

    2023-05-23 06:13:39
  • spring-boot @Component和@Bean的区别详解

    2023-06-28 16:10:36
  • Java应用EasyExcel工具类

    2023-07-07 18:45:32
  • springmvc接收json串,转换为实体类List方法

    2023-07-28 12:40:00
  • Android中访问sdcard路径的几种方式

    2023-06-23 08:08:59
  • C#调用Win32的API函数--User32.dll

    2022-04-13 16:43:24
  • 轻松学习C#的装箱与拆箱

    2021-07-01 12:11:51
  • java JVM原理与常识知识点

    2022-06-24 16:26:50
  • Spring Boot接口限流的常用算法及特点

    2023-12-20 05:16:30
  • string boot 与 自定义interceptor的实例讲解

    2023-10-27 17:03:20
  • asp之家 软件编程 m.aspxhome.com