C葃の一般的な応用関数の例のまとめ

5440 ワード

本論文の実例は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を使って大量に値を取る時性能はContantainsKeyに比べて倍増します。

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〓プログラムの設計に役に立ちます。