随笔-2  评论-0  文章-0  trackbacks-0
  2008年6月13日
List<T>中方法Distinct<T>用于返回List队列中的非重复元素,使代码既简化又优雅,这个方法其中一个重载用到IEqualityComparer,下面是它的用法示例:

先定义一个对比准则
 1private class equalcompare:EqualityComparer<RectangleF>
 2        {
 3            public override bool Equals(RectangleF x, RectangleF y)
 4            {
 5               return x.Left == y.Left && x.Right == y.Right && x.Top == y.Top && x.Bottom == y.Bottom;
 6                
 7            }

 8            public override int GetHashCode(RectangleF obj)
 9            {
10                return obj.GetHashCode();
11            }

12        }
List会用这个定义的对比准则来比较其内的每个元素

然后构建一个List对象
List<RectangleF> rects = new List<RectangleF>();
      rects.Add(new RectangleF(..............));往其中添加重复的元素
      rects.Add(new RectangleF(..............));
      rects.Add(new RectangleF(..............));
      rects.Add(new RectangleF(..............));
IEnumerable<RectangleF> rr = rects.Distinct<RectangleF>(new equalcompare());
List利用上而定义的对比准则来对比其中的元素,返回非重复元素
posted @ 2008-06-13 15:57 tloner 阅读(15) | 评论 (0)编辑
  2008年4月17日
     摘要: 如果WCF服务用到服务器的稀缺资源,该资源的创建和销毁极耗服务器时间和性能,这种情况如果提高服务器性能呢? 我们知道WCF的实例模式有三种:Per-Call 、Per-Session 、Singleton。我们来分析一下:第一种Per-Call ,每一个Client Call都会一个服务实例和资源对象,这样的性能是无法忍受的;第二种Per-Session ,这种情况稍为改善了服务器性能,但是海量并... 阅读全文
posted @ 2008-04-17 22:24 tloner 阅读(63) | 评论 (0)编辑