推薦一個不到2MB的C#開發工具箱,集成了上千個常用操作類
今天給大家推薦一個C#開發工具箱,涵蓋了所有常用操作類,體積小、功能強大。
專案簡介
C# 開發工具箱。
大都是靜態類,加密解密,反射操作,權重隨機篩選演算法,分散式短id,表示式樹,linq擴充套件,檔案壓縮,多執行緒下載和FTP客戶端,硬體資訊,字串擴充套件方法,日期時間擴充套件操作,中國農曆,大檔案複製,影象裁剪,驗證碼,斷點續傳,集合擴充套件、Excel匯出等常用封裝。
諸多功能集一身,程式碼量不到2MB!
技術架構
開發工具:VisualStudio2019
SDK:。Net Core 2。1。0
專案結構
特色功能示例
字串格式校驗
bool isEmail=“337845818@qq。com”。MatchEmail(); // 可在appsetting。json中新增EmailDomainWhiteList和EmailDomainBlockList配置郵箱域名黑白名單,逗號分隔,如“EmailDomainBlockList”: “^w{1,5}@qq。com,^w{1,5}@163。com,^w{1,5}@gmail。com,^w{1,5}@outlook。com”,bool isInetAddress = “114。114。114。114”。MatchInetAddress();bool isUrl = “http://ldqk。org/20/history”。MatchUrl();bool isPhoneNumber = “15205201520”。MatchPhoneNumber();bool isIdentifyCard = “312000199502230660”。MatchIdentifyCard();// 校驗中國大陸身份證號bool isCNPatentNumber = “200410018477。9”。MatchCNPatentNumber(); // 校驗中國專利申請號或專利號,是否帶校驗位,校驗位前是否帶“。”,都可以校驗,待校驗的號碼前不要帶CN、ZL字樣的字首
任意進位制轉換
NumberFormater nf = new NumberFormater(36);//內建2-62進位制的轉換//NumberFormater nf = new NumberFormater(“0123456789abcdefghijklmnopqrstuvwxyz”);// 自定義進位制字元,可用於生成驗證碼string s36 = nf。ToString(12345678);long num = nf。FromString(“7clzi”);Console。WriteLine(“12345678的36進位制是:” + s36); // 7clziConsole。WriteLine(“36進位制的7clzi是:” + num); // 12345678var s = new NumberFormater(62)。ToString(new Random()。Next(100000, int。MaxValue)); //配合隨機數生成隨機字串
唯一ID生成
var token=Stopwatch。GetTimestamp()。ToBinary(36);
var set = new HashSet
農曆轉換
ChineseCalendar。CustomHolidays。Add(DateTime。Parse(“2018-12-31”),“元旦節”);//自定義節假日ChineseCalendar today = new ChineseCalendar(DateTime。Parse(“2018-12-31”));Console。WriteLine(today。ChineseDateString);// 二零一八年十一月廿五Console。WriteLine(today。AnimalString);// 生肖:狗Console。WriteLine(today。GanZhiDateString);// 干支:戊戌年甲子月丁酉日Console。WriteLine(today。DateHoliday);// 獲取按公曆計算的節假日
加密解密
var enc=“123456”。MDString();// MD5var enc=“123456”。MDString(“abc”);// MD5加鹽var enc=“123456”。MDString2();// MD5兩次var enc=“123456”。MDString2(“abc”);// MD5兩次加鹽var enc=“123456”。MDString3();// MD5三次var enc=“123456”。MDString3(“abc”);// MD5三次加鹽string aes = “123456”。AESEncrypt();// AES加密為密文string s = aes。AESDecrypt(); //AES解密為明文string aes = “123456”。AESEncrypt(“abc”);// AES金鑰加密為密文string s = aes。AESDecrypt(“abc”); //AES金鑰解密為明文string enc = “123456”。DesEncrypt();// DES加密為密文string s = enc。DesDecrypt(); //DES解密為明文string enc = “123456”。DesEncrypt(“abcdefgh”);// DES金鑰加密為密文string s = enc。DesDecrypt(“abcdefgh”); //DES金鑰解密為明文RsaKey rsaKey = RsaCrypt。GenerateRsaKeys();// 生成RSA金鑰對string encrypt = “123456”。RSAEncrypt(rsaKey。PublicKey);// 公鑰加密string s = encrypt。RSADecrypt(rsaKey。PrivateKey);// 私鑰解密string s = “123”。Crc32();// 生成crc32摘要string s = “123”。Crc64();// 生成crc64摘要
原始碼地址
私信回覆:1033