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. svn拒绝连接

    svn 服务开启: svnserve -d -r /home/svn

  2. javascript--- document.write()和 innerHTML的区别

    document.write是直接写入到页面的内容流,如果在写之前没有调用document.open, 浏览器会自动调用open.每次写完关闭之后重新调用该函数,会导致页面被重写. innerHTML ...

  3. kill di/dia out 1

    1● di 使~ 变成 :两个,两,       2● dia 穿过,二者之间

  4. vs2012团队连接(Team Foundation Server)怎样从已登录的用户退出

    在用visual studio 连接团队项目时,首次输入用户名和密码后,默认保存住凭据了,等以后连接会自动采用首次的凭证. 但是如何采用新的用户重新登录呢 解决方法有两个: 1.删除原有账号登陆的凭证 ...

  5. sgu 125 Shtirlits dfs 难度:0

    125. Shtirlits time limit per test: 0.25 sec. memory limit per test: 4096 KB There is a checkered fi ...

  6. [转载]彻底卸载oracleXE数据库服务器

    URL:http://www.2cto.com/database/201306/216182.html

  7. python安装大型包时出现错误Unable to find vcvarsall.bat

    在windows平台上,据说是安装cpython编写的包时会出现Unable to find vcvarsall.bat这种错误,缺失编译C的环境或组件吧,所以这个包就安装不成功,这个时候简单的方法就 ...

  8. SharePoint的安装和配置-PowerShell

    1. 引入SPModule组件 Import-Module SPModule.misc Import-Module SPModule.setup 需要将执行策略修改为不限制 2. 无人值守安装Shar ...

  9. MyEclipse怎么导入导出项目

    MyEclipse怎么导入导出项目 | 浏览:25271 | 更新:2012-06-06 17:48 1 2 3 4 5 6 7 分步阅读 MyEclipse,是一个十分优秀的功能强大的JavaEE的 ...

  10. Python学习(002)--Python介绍

    一. Python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为AB ...