C# String Extensions metodlarını kullanarak en fazla ihtiyaç duyduğunuz string işlemleri için kolay erişilebilir metodlar tanımlayabilir ve istediğiniz heryerde kullanabilirsiniz en sık kullandığım C# String Exntesion ların tümünü alttaki listeden bulabilirsiniz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 | using System; using System.Net; using System.Text.RegularExpressions; using Newtonsoft.Json; using System.Collections.Generic; public static class StringExtension { /// <summary> /// string değeri null yada boş ise true döner. /// </summary> /// <param name="value"></param> /// <returns></returns> public static bool IsNullOrEmpty(this string value) => string.IsNullOrEmpty(value?.Trim()); public static bool IsNotNullOrEmpty(this String value) => !string.IsNullOrEmpty(value); /// <summary> /// Özellike birleşik kelimelerin Snake Case formatında dönüşümü sağlanır. /// </summary> /// <param name="value"></param> /// <returns></returns> /// <example> /// var name = "MyNameIsMurat"; /// name.ToSnakeCase(); // => "my_name_is_murat" /// </example> public static string ToSnakeCase(this string value) { var list = new List<string>(); foreach (Match match in Regex.Matches(value, "([A-Z][^A-Z]+)")) list.Add(match.Value.ToLower()); return string.Join("_", list); } public static string DownloadString(this string url) { using (var web = new WebClient()) return web.DownloadString(url); } public static bool IsMatch(this string value, string pattern) => Regex.IsMatch(value, pattern); public static string GetMatchedFirstValue(this string value, params (string Pattern, Func<string, string> Func)[] patterns) { foreach (var pattern in patterns) { var res = Regex.Match(value, pattern.Pattern).Value; if (!string.IsNullOrEmpty(res)) return pattern.Func != null ? pattern.Func.Invoke(res) : res; } return ""; } public static T Download<T>(this string url) => url.DownloadString().ToDeserialize<T>(); public static T ToDeserialize<T>(this string url) => JsonConvert.DeserializeObject<T>(url); public static string ReplaceAll(this string value, string replaceValue, params string[] args) { args.ForEach(a => value = value.Replace(a, replaceValue)); return value; } public static bool IsNumeric(this string str) { if (string.IsNullOrEmpty(str)) return false; return decimal.TryParse(str, out _); } } |
ForEach metodunu kullanabilmek için Array Extensions sayfasına gözatabilirsiniz.
Kaynaklar