判斷是否為日期

可以用來判斷用戶日期格式是否輸入錯誤!

/// <summary>
/// 判斷是否為日期
/// </summary>
public static bool IsDate(object obj)
{
    DateTime date;

    return DateTime.TryParse(obj.ToString(), out date);
}

  2011-11-29      ez      .NET
判斷是否為數字

可以用來判斷用戶是否輸入錯數值!

/// <summary>
/// 判斷是否為數字
/// </summary>
public static bool IsNumeric(object obj)
{
    double retNum;
    bool Result = Double.TryParse(obj.ToString(), System.Globalization.NumberStyles.Any
                        , System.Globalization.NumberFormatInfo.InvariantInfo, out retNum);

    return Result;
}

  2011-11-28      ez      .NET
利用擴充方法加強字串分割

第一個參數加入this,就可以在對應型態的變數使用此擴充方法,在底層寫了這個靜態方法後,就可以像原本的分割一樣用str.Split(",")的方式執行字串分割。

public static string[] Split(this string Text, string Separator, StringSplitOptions SSO = StringSplitOptions.None)
{
            return Text.Split(new string[] { Separator }, SSO);
}

  2011-11-28      ez      .NET
判斷字串中是否有非英數字的字元

判斷字串中是否有非英文及數字的字元,可以用來判斷用戶是否輸入中文字!

/// <summary>
/// 判斷字串中是否有非英數文字
/// </summary>
public static bool ContainUnicode(string Text)
{
    return (Text.ByteCount() > Text.Length);
}

/// <summary>
/// 取得字串的位元數
/// </summary>
public static int ByteCount(this string Text)
{
    return System.Text.Encoding.UTF8.GetByteCount(Text);
}

  2011-11-28      ez      .NET
ZIP壓縮處理

SharpZipLib 官方網站下載:http://www.icsharpcode.net/OpenSource/SharpZipLib/ or SharpZipLib 0.86 壓縮檔案

Compress("C:\\ziproute", "C:\\ziproute.zip", 5);
// 傳入參數: 來源路徑, 目的壓縮檔名(.zip), 壓縮比( 0=僅儲存, 9=最高壓縮比 )
public static void Compress(string dir, string zipFileName, int level)
{
    string[] filenames = Directory.GetFiles(dir);
    byte[] buffer = new byte[4096];

    using (ZipOutputStream s = new ZipOutputStream(File.Create(zipFileName)))
    {
        // 設定壓縮比
        s.SetLevel(level);

        // 逐一將資料夾內的檔案抓出來壓縮,並寫入至目的檔(.ZIP)
        foreach (string filename in filenames)
        {
            ZipEntry entry = new ZipEntry(filename);
            s.PutNextEntry(entry);

            using (FileStream fs = File.OpenRead(filename))
                StreamUtils.Copy(fs, s, buffer);
        }
    }
}

  2011-11-28      ez      .NET