Wintellect 的Power collections 库


BigList<String> str = new BigList<String>();
str.Add("ddddddddddddd<br/>");
str.Add("dddddddddd");
foreach (var item in str)
{
   Response.Write(item);
}

BigList<T> 有序T对象集合。操作100个以上的数据项是,效率非常高。


 Bag<int> bag = new Bag<int>();
 bag.Add(1);
 bag.Add(1);
 bag.Add(2);
 bag.Add(7);
 foreach (var item in bag)
 {
   Response.Write(item + "<br/>");
 }

Bag<T> 无序T对象的集合,集合进行了哈希处理,并允许重复项。


OrderedBag<int> ordbag = new OrderedBag<int>();
ordbag.Add(1);
ordbag.Add(1);
ordbag.Add(2);
ordbag.Add(7);
foreach (var item in ordbag)
{
   Response.Write(item + "<br/>");
}

OrderedBag<T> 有序T对象的集合,允许重复值。


Set<int> set = new Set<int>();
set.Add(1);
set.Add(1);
set.Add(2);
set.Add(7);
foreach (var item in set)
{
  Response.Write(item + "<br/>");
}

Set<T> 无序T数据项集合,不允许重复项。添加重复项后,会只保留一个。


OrderedSet<int> ordSet = new OrderedSet<int>();
ordSet.Add(0);
ordSet.Add(1);
ordSet.Add(2);
ordSet.Add(7);
foreach (var item in ordSet)
{
    Response.Write(item + "<br/>");
}

OrderedSet<T> 有序T数据项的集合,不允许重复项。


Deque<int> deq = new Deque<int>();
deq.AddToBack(0);
deq.AddToBack(1);
deq.AddToFront(2);
deq.AddToFront(7);
foreach (var item in deq)
{
   Response.Write(item + "<br/>");
}

Deque<T> 双端队列(double-ending queue)。类似于一个列表,但在起始处添加/删除数据项时,比列表更高效。


OrderedDictionary<String, String> orDic = new OrderedDictionary<string, string>();
orDic.Add("1", "1");
orDic.Add("3", "3");
orDic.Add("2", "2");
foreach (string key in orDic.Keys)
{
   Response.Write(orDic[key] + "<br/>");
}

OrderedDictionary<TKey,TValue> 字典,其中的键进行了排序,每个键都有一个对应的值。


MultiDictionary<String, String> mulDic = new MultiDictionary<String, String>(true);
mulDic.Add("1", "1");
mulDic.Add("1", "0");
mulDic.Add("3", "3");
mulDic.Add("2", "2");
foreach (string key in mulDic.Keys)
{
  Response.Write(mulDic[key] + "<br/>");
}

MultiDictionary<TKey,TValue> 字典,其中每个键都可以有多个值,对键进行了哈希处理,允许重复,而且数据项是无序的。


OrderedMultiDictionary<String, String> ordMuDic = new OrderedMultiDictionary<string, string>(true);
ordMuDic.Add("1", "1");
ordMuDic.Add("1", "0");
ordMuDic.Add("3", "3");
ordMuDic.Add("2", "2");
foreach (string key in ordMuDic.Keys)
{
   Response.Write(ordMuDic[key] + "<br/>");
}

OrderedMultiDictionary<TKey,TValue> 字典,其中的键进行了排序,每个键都可以有多个值(同样进行了排序)。允许重复的键。

PowerCollections的更多相关文章

  1. 基于.NET平台常用的框架整理(转)

    自从学习.NET以来,优雅的编程风格,极度简单的可扩展性,足够强大开发工具,极小的 学习曲线,让我对这个平台产生了浓厚的兴趣,在工作和学习中也积累了一些开源的组件,就目前想到的先整理于此,如果再想到, ...

  2. Index

    我主要在研究.NET/C# 实现 PC IMERP 和 Android IMERP ,目的在解决企业通信中遇到的各类自动化问题   分布式缓存框架: Microsoft Velocity:微软自家分布 ...

  3. 【转】基于.NET平台常用的框架整理

    自从学习.NET以来,优雅的编程风格,极度简单的可扩展性,足够强大开发工具,极小的学习曲线,让我对这个平台产生了浓厚的兴趣,在工作和学习中也积累 了一些开源的组件,就目前想到的先整理于此,如果再想到, ...

  4. 基于.NET平台常用的框架整理

    自从学习.NET以来,优雅的编程风格,极度简单的可扩展性,足够强大开发工具,极小的学习曲线,让我对这个平台产生了浓厚的兴趣,在工作和学习中也积累了一些开源的组件,就目前想到的先整理于此,如果再想到,就 ...

  5. .NET平台常用的框架整理

    基于.NET平台常用的框架整理 DotNet | 2016-03-31 17:13 (点击上方蓝字,可快速关注我们) 来源:天使不哭 链接:http://www.cnblogs.com/hgmyz/p ...

  6. .NET 各种框架

    基于.NET平台常用的框架整理 分布式缓存框架: Microsoft Velocity:微软自家分布式缓存服务框架. Memcahed:一套分布式的高速缓存系统,目前被许多网站使用以提升网站的访问速度 ...

  7. 基于.NET平台常用的框架整理【转】

    转:http://www.cnblogs.com/hgmyz/p/5313983.html 自从学习.NET以来,优雅的编程风格,极度简单的可扩展性,足够强大开发工具,极小的学习曲线,让我对这个平台产 ...

  8. ( 转)基于.NET平台常用的框架整理

    自从学习.NET以来,优雅的编程风格,极度简单的可扩展性,足够强大开发工具,极小的学习曲线,让我对这个平台产生了浓厚的兴趣,在工作和学习中也积累了一些开源的组件,就目前想到的先整理于此,如果再想到,就 ...

  9. 基于.NET平台常用的框架整理 (转)

    http://www.cnblogs.com/hgmyz/p/5313983.html 自从学习.NET以来,优雅的编程风格,极度简单的可扩展性,足够强大开发工具,极小的学习曲线,让我对这个平台产生了 ...

随机推荐

  1. Travelling Salesman and Special Numbers CodeForces - 914C (数位dp)

    大意: 对于一个数$x$, 每次操作可将$x$变为$x$二进制中1的个数 定义经过k次操作变为1的数为好数, 求$[1,n]$中有多少个好数 注意到n二进制位最大1000位, 经过一次操作后一定变为1 ...

  2. Krapno 1

    All krpano software can be downloaded and tested for free - without any functional limitation.For us ...

  3. poj2417 Discrete Logging BSGS裸题

    给a^x == b (mod c)求满足的最小正整数x, 用BSGS求,令m=ceil(sqrt(m)),x=im-j,那么a^(im)=ba^j%p;, 我们先枚举j求出所有的ba^j%p,1< ...

  4. spring PROPAGATION

    PROPAGATION_REQUIRED Support a current transaction; create a new one if none exists.  支持一个当前事务;如果不存在 ...

  5. 标准的EO验证提示错误不够完整,抛出自定义的异常。

    我们通常会在EO里面对某些数据进行验证,比如在邀请供应商注册的时候,ORACLE标准逻辑会验证被邀请的供应商是否已经存在. 其验证逻辑在 oracle.apps.pos.schema.server.S ...

  6. python 利用quick sort思路实现median函数

    # import numpy as np def median(arr): #return np.median(arr) arr.sort() return arr[len(arr)>>1 ...

  7. sgu114. Telecasting station 难度:1

    114. Telecasting station time limit per test: 0.25 sec. memory limit per test: 4096 KB Every city in ...

  8. 如何最大限度提高.NET的性能

    优化 .NET的性能 1)避免使用ArrayList.     因为任何对象添加到ArrayList都要封箱为System.Object类型,从ArrayList取出数据时,要拆箱回实际的类型.建议使 ...

  9. System.Insert - 插入字符串

    System.Insert - 插入字符串 procedure Insert( Substr: String; {要插入的字符串; 可以是常量} var Dest: String; {源字符串} In ...

  10. 基于GUI的简单聊天室03

    上一版本,客户端关闭后会出现“socket close”异常问题,这个版本用捕捉异常来解决,实际上只是把异常输出的语句改为用户退出之类,并没真正解决 服务器类 package Chat03; /** ...