zoukankan      html  css  js  c++  java
  • C#扩展一般用于linq

    下面是dictionary的扩展

     1 using System.Collections.Generic;
     2 
     3 namespace NetAnalysis.Common
     4 {
     5 
     6   public static class DictionaryExtensionMethodClass
     7     {
     8         /// <summary>
     9         /// 尝试将键和值添加到字典中:如果不存在,才添加;存在,不添加也不抛导常
    10         /// </summary>
    11         public static Dictionary<TKey, TValue> TryAdd<TKey, TValue>(this Dictionary<TKey, TValue> dict, TKey key, TValue value)
    12         {
    13             if (dict.ContainsKey(key) == false)
    14                 dict.Add(key, value);
    15             return dict;
    16         }
    17 
    18 
    19         /// <summary>
    20         /// 将键和值添加或替换到字典中:如果不存在,则添加;存在,则替换
    21         /// </summary>
    22         public static Dictionary<TKey, TValue> AddOrPeplace<TKey, TValue>(this Dictionary<TKey, TValue> dict, TKey key, TValue value)
    23         {
    24             dict[key] = value;
    25             return dict;
    26         }
    27 
    28         /// <summary>
    29         /// 获取与指定的键相关联的值,如果没有则返回输入的默认值
    30         /// </summary>
    31         public static TValue GetValue<TKey, TValue>(this Dictionary<TKey, TValue> dict, TKey key, TValue defaultValue)
    32         {
    33             return dict.ContainsKey(key) ? dict[key] : defaultValue;
    34         }
    35 
    36         /// <summary>
    37         /// 向字典中批量添加键值对
    38         /// </summary>
    39         /// <param name="replaceExisted">如果已存在,是否替换</param>
    40         public static Dictionary<TKey, TValue> AddRange<TKey, TValue>(this Dictionary<TKey, TValue> dict, IEnumerable<KeyValuePair<TKey, TValue>> values, bool replaceExisted)
    41         {
    42             foreach (var item in values)
    43             {
    44                 if (dict.ContainsKey(item.Key) == false || replaceExisted)
    45                     dict[item.Key] = item.Value;
    46             }
    47             return dict;
    48 
    49         }
    50   
    51   }
    52 }
  • 相关阅读:
    SQL Serever学习16——索引,触发器,数据库维护
    微信WeUI基础
    SQL Serever学习15——进阶
    SQL Serever学习14——存储过程和触发器
    微信WeUI入门2
    微信WeUI入门
    数据库—索引
    数据库—四种存储引擎
    视图
    事务
  • 原文地址:https://www.cnblogs.com/ants_double/p/5365002.html
Copyright © 2011-2022 走看看