C#罕見使用函數實例小結。本站提示廣大學習愛好者:(C#罕見使用函數實例小結)文章只能為提供參考,不一定能成為您想要的結果。以下是C#罕見使用函數實例小結正文
本文實例總結了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#順序設計有所協助。