可以用來判斷用戶是否輸入錯數值!
/// <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; }
第一個參數加入this,就可以在對應型態的變數使用此擴充方法,在底層寫了這個靜態方法後,就可以像原本的分割一樣用str.Split(",")的方式執行字串分割。
public static string[] Split(this string Text, string Separator, StringSplitOptions SSO = StringSplitOptions.None) { return Text.Split(new string[] { Separator }, SSO); }
判斷字串中是否有非英文及數字的字元,可以用來判斷用戶是否輸入中文字!
/// <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); }
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); } } }