亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > .NET > 正文

.NET實用擴展方法詳解

2024-07-10 13:32:40
字體:
來源:轉載
供稿:網友

持續更新的.NET實用擴展方法,具體內容如下

1. 字符串轉換為可空數值類型(int, long, float...類似)

  /// <summary>  /// 將字符串轉換成32位整數,轉換失敗返回null  /// </summary>  /// <param name="str">轉換的字符串</param>  /// <returns>轉換之后的整數,或null</returns>  public static int? TryParseToInt32(this string str)  {    if (string.IsNullOrWhiteSpace(str))      return null;    var result = 0;    if (int.TryParse(str, out result))      return result;    else      return null;  }

2. 去除子字符串

  /// <summary>  /// 去除子字符串  /// </summary>  /// <param name="str">原字符串</param>  /// <param name="substring">要去除的字符串</param>  /// <returns>去除子字符串之后的結果</returns>  public static string DeSubstring(this string str, string substring)  {    if (string.IsNullOrEmpty(str) || string.IsNullOrEmpty(substring) || !str.Contains(substring))    {      return str;    }    return Regex.Replace(str, Regex.Escape(substring), string.Empty);  }  /// <summary>  /// 去除子字符串  /// </summary>  /// <param name="str">原字符串</param>  /// <param name="substrings">要去除的子字符串</param>  /// <returns>去除子字符串之后的結果</returns>  public static string DeSubstring(this string str, params string[] substrings)  {    if (string.IsNullOrEmpty(str))      return str;    if (substrings == null)      return str;    var newStr = str;    foreach (var item in substrings)    {      newStr = newStr.DeSubstring(item);    }    return newStr;  }

3. 獲取子序列

  /// <summary>  /// 獲取子序列  /// </summary>  /// <typeparam name="T">序列中元素類型</typeparam>  /// <param name="source">源數據</param>  /// <param name="startIndex">開始索引(返回時包括)</param>  /// <param name="endIndex">結束索引(返回時包括)</param>  /// <returns>子序列</returns>  public static IEnumerable<T> SubEnumerable<T>(this IEnumerable<T> source, int startIndex, int endIndex)  {    if (source == null)      yield return default(T);    var length = source.Count();    if (startIndex < 0 || endIndex < startIndex || startIndex >= length || endIndex >= length)      throw new ArgumentOutOfRangeException();    var index = -1;    foreach (var item in source)    {      index++;      if (index < startIndex)        continue;      if (index > endIndex)        yield break;      yield return item;    }  }

4. 通過指定鍵對序列去重, 不必實現IEqualityComparer接口

  /// <summary>  /// 通過對指定的值進行比較返回序列中的非重復元素。  /// </summary>  /// <typeparam name="T">序列中元素類型</typeparam>  /// <typeparam name="TResult">指定的比較屬性類型</typeparam>  /// <param name="source">源數據</param>  /// <param name="selector">應用于每個元素的轉換函數</param>  /// <returns>一個包含源序列中的按指定屬性非重復元素</returns>  public static IEnumerable<T> Distinct<T, TResult>(this IEnumerable<T> source, Func<T, TResult> selector)  {    if (source == null)      throw new ArgumentNullException(nameof(source));    if (selector == null)      throw new ArgumentNullException(nameof(selector));    var set = new HashSet<TResult>();    foreach (var item in source)    {      var result = selector(item);      if (set.Add(result))      {        yield return item;      }    }  }

5. 獲取序列中重復的元素序列, 原理和去重類似

  /// <summary>  /// 通過對指定的值進行比較返回序列中重復的元素  /// </summary>  /// <typeparam name="T">序列中的數據類型</typeparam>  /// <typeparam name="TResult">指定的比較屬性類型</typeparam>  /// <param name="source">源數據</param>  /// <param name="selector">應用于每個元素的轉換函數</param>  /// <returns>一個包含源序列中的按指定元素的重復元素</returns>  public static IEnumerable<T> Identical<T>(this IEnumerable<T> source)  {    if (source == null)      throw new ArgumentNullException(nameof(source));    var setT = new HashSet<T>();    foreach (var item in source)    {      if (!setT.Add(item))      {        yield return item;      }    }  }  /// <summary>  /// 通過對指定的值進行比較返回序列中重復的元素  /// </summary>  /// <typeparam name="T">序列中的數據類型</typeparam>  /// <typeparam name="TResult">指定的比較屬性類型</typeparam>  /// <param name="source">源數據</param>  /// <param name="selector">應用于每個元素的轉換函數</param>  /// <returns>一個包含源序列中的按指定元素的重復元素</returns>  public static IEnumerable<T> Identical<T, TResult>(this IEnumerable<T> source, Func<T, TResult> selector)  {    if (source == null)      throw new ArgumentNullException(nameof(source));    if (selector == null)      throw new ArgumentNullException(nameof(selector));    var setTResult = new HashSet<TResult>();    foreach (var item in source)    {      var result = selector(item);      if (!setTResult.Add(result))      {        yield return item;      }    }  }

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到ASP.NET教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产91网红主播在线观看| www.国产一区| 国内精品一区二区三区四区| 亚洲图片在区色| 久久久久在线观看| 亚洲国产天堂网精品网站| 国产精品视频免费在线| 国产美女搞久久| 亚洲第一免费网站| 欧洲美女7788成人免费视频| 欧美寡妇偷汉性猛交| 国产精品成人aaaaa网站| 亚洲精品福利在线观看| 伊人伊成久久人综合网小说| 亚洲第一免费播放区| 欧美黑人xxxx| 国产精品久久久av久久久| 亚洲精品女av网站| 国模精品视频一区二区| 国产69精品久久久久久| 亚洲一区亚洲二区亚洲三区| 欧美中文在线观看| 亚洲精品国产精品国自产在线| 日本a级片电影一区二区| 久久免费福利视频| 欧美精品激情在线| 自拍偷拍亚洲区| 美女国内精品自产拍在线播放| 欧美日韩性生活视频| 国产成人久久久精品一区| 亚洲成人动漫在线播放| 中文字幕自拍vr一区二区三区| 播播国产欧美激情| 91精品国产91久久久久久不卡| 精品国产依人香蕉在线精品| 亚洲欧美在线第一页| 成人h视频在线观看播放| 在线观看日韩av| 成人欧美在线视频| 亚洲无av在线中文字幕| 美女福利视频一区| 国产在线日韩在线| 国产精品视频自在线| 日韩av电影在线播放| 欧美日韩综合视频| 日韩av在线网址| 91精品国产91久久久久久吃药| 日韩在线中文字| 国产精品久久久av| 国产精品2018| 成人乱人伦精品视频在线观看| 爽爽爽爽爽爽爽成人免费观看| 久久精品免费电影| 亚洲在线免费看| 亚洲天堂视频在线观看| 日韩亚洲第一页| 亚洲欧美日韩网| 日韩视频一区在线| 欧美成人免费观看| 一个人www欧美| 亚洲欧美日韩精品久久奇米色影视| 精品在线欧美视频| 国产亚洲欧洲高清| 亚洲第一网站男人都懂| 国产成人短视频| 久久久人成影片一区二区三区| 搡老女人一区二区三区视频tv| 亚洲综合在线做性| 高跟丝袜欧美一区| 97av在线播放| 在线亚洲男人天堂| 韩国三级日本三级少妇99| 一个色综合导航| 久久久精品国产一区二区| 精品人伦一区二区三区蜜桃免费| 成人亚洲综合色就1024| 日韩av在线看| 日韩大片免费观看视频播放| 亚洲国产精品久久91精品| 久久精品国亚洲| 国产999精品久久久影片官网| 久久久人成影片一区二区三区| 亚洲自拍偷拍福利| 国产一区二区三区四区福利| 日本精品视频在线| 久久精品久久久久久国产 免费| 国产精自产拍久久久久久蜜| 欧美中文在线视频| 国产视频亚洲视频| 日本免费在线精品| 久久久精品视频在线观看| 丝袜一区二区三区| 国产精品美女主播| 国产精品第100页| 成人免费观看49www在线观看| 日韩电影大片中文字幕| 中文字幕久久亚洲| 中文综合在线观看| 6080yy精品一区二区三区| 国产狼人综合免费视频| 中文字幕无线精品亚洲乱码一区| 91亚洲精品久久久久久久久久久久| 久久偷看各类女兵18女厕嘘嘘| 一本色道久久88综合日韩精品| 亚洲精品www久久久| 国产99久久精品一区二区 夜夜躁日日躁| 久久乐国产精品| 92版电视剧仙鹤神针在线观看| 久久精品国产91精品亚洲| 国产一区二区三区毛片| 日韩在线观看免费高清完整版| 91亚洲精品在线观看| 欧洲永久精品大片ww免费漫画| 亚洲va电影大全| 亚洲大胆美女视频| 日本精品久久久久久久| 欧美大肥婆大肥bbbbb| 国产精品久久综合av爱欲tv| 精品中文字幕在线| 成人av电影天堂| 狠狠色噜噜狠狠狠狠97| 欧美孕妇毛茸茸xxxx| 97国产成人精品视频| 欧美性猛交xxxx久久久| 国产精品偷伦一区二区| 91在线视频精品| 久久资源免费视频| 日韩在线中文字| 亚洲电影免费观看高清完整版在线| 91在线视频九色| 国产精品一区久久久| 日韩经典一区二区三区| 亚洲精品狠狠操| 97在线免费观看| 不卡av日日日| 久久影视电视剧免费网站| 在线丨暗呦小u女国产精品| 欧美裸体xxxx极品少妇| 91理论片午午论夜理片久久| 成人激情在线观看| 亚洲自拍偷拍福利| 97国产suv精品一区二区62| 97在线观看免费| 亚洲网站在线观看| 国产精品大陆在线观看| 日韩电影大全免费观看2023年上| 日韩在线观看免费高清| 国产成人精品久久久| 国产精品久久久久高潮| 欧美亚洲伦理www| 欧美精品aaa| 欧美另类极品videosbest最新版本| 在线观看中文字幕亚洲| 亚洲人成网站免费播放| 色偷偷偷亚洲综合网另类| 92看片淫黄大片看国产片| 亚洲香蕉伊综合在人在线视看| 日韩av黄色在线观看| 色婷婷成人综合| 国产97在线|亚洲| 国产一区二区三区丝袜| 97香蕉久久超级碰碰高清版| 日韩成人激情影院| 疯狂做受xxxx高潮欧美日本|