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. Confluence 6 管理多目录

    这个页面描述了如果在 Confluence 中定义了多个目录服务器将会发生什么样的情况.例如你可能会有一个内部目录服务器同时你还可能有连接一个 LDAP 外部服务器或者使用多种类型的其他用户目录.当你 ...

  2. Population Size CodeForces - 416D (贪心,模拟)

    大意: 给定$n$元素序列$a$, 求将$a$划分为连续的等差数列, 且划分数尽量小. $a$中的$-1$表示可以替换为任意正整数, 等差数列中必须也都是正整数. 贪心策略就是从前到后尽量添进一个等差 ...

  3. hdu2110(多重背包/母函数)

    http://acm.hdu.edu.cn/showproblem.php?pid=2110 就是个多重背包,有坑点-.-.注意答案模10000中间结果有可能会爆所以计算时就要取模: 由于必须能均分三 ...

  4. Oracle性能诊断艺术-读书笔记(执行计划中显示 Starts, E-Rows, REM A-Rows and A-Time)等)

    必须以 ' runstats_last '的方式查看执行计划哦! 操作一 hint  /*+ gather_plan_statistics */  : /* 添加 hint   /*+ gather_ ...

  5. dubbo为consumer创建代理

    ReferenceConfig.init()方法中获取到了最终的代理对象,先观察一下代理对象的视图. 默认使用javassist生成动态类,可配置proxy为jdk,则使用jdk动态代理: <d ...

  6. python dict sorted 排序

    https://www.cnblogs.com/linyawen/archive/2012/03/15/2398292.html 我们知道Python的内置dictionary数据类型是无序的,通过k ...

  7. java基本类型的大小

    1个字节是8位byte 1字节short 2字节int 4字节long 8字节float 4字节double 8字节char 2字节boolean 1字节======================= ...

  8. 软工实践团队项目-"智能聊天机器人"简介

    "智能聊天机器人"项目 目前已确定的团队人员:张扬.俊彦.韫月.地秀.泽波.李翔.文婧.俞明.加伟(排名不分先后) 队伍已满,没有再招人的打算(#^.^#) 我们的想法 你有用过智 ...

  9. 如何完全卸载 mysql 数据库

    有时候MySQL不能完全卸载,这时候必须通过一些途径删除掉注册表和一些残余的文件,然后才能重新安装才可以成功! 1.控制面板——>所有控制面板项——>程序和功能,卸载mysql serve ...

  10. java poi 写入大量数据到excel中

    最近在利用poi往excel中写入大量数据时,发现excel2003最多只支持65535条,大量数据时容易造成oom,上网查了一下api,发现目前对于2003,每个sheet最多支持65535条,若数 ...