摘要: 操作符:Count 原型:public static int Count<TSource>( this IEnumerable<TSource> source)public static int Count<TSource>( this IEnumerable<TSource> source, Func<TSource, bool> predicate)描述:返回输入序列的个数。如果输入序列实现了... 阅读全文
posted @ 2012-04-01 20:55 Xiao Tian 阅读(363) 评论(0) 推荐(0) 编辑
摘要: 操作符:First 原型:2种 public static TSource First<TSource>( this IEnumerable<TSource> source)public static TSource First<TSource>( this IEnumerable<TSource> source, Func<TSource, bool> predicate)描述:First返回第... 阅读全文
posted @ 2012-03-30 23:27 Xiao Tian 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 操作符:ToArray 原型: public static TSource[] ToArray<TSource>( this IEnumerable<TSource> source)描述:将一个IEnumerable<T>的输入序列,转换成T类型的数组,这个方法经常用来缓存一个序列,以防止在我们遍历它之前, 序列的数据发生改变。例子: List<Produc... 阅读全文
posted @ 2012-03-29 22:03 Xiao Tian 阅读(290) 评论(0) 推荐(0) 编辑
摘要: 操作符:Join 描述:基于匹配键对2个序列的元素进行关联,Join保留了TOuter中元素的顺序,并对于这些元素中的每一个元素,保留TInner中匹配元素的顺序.(来自msdn) 原型:2种 原型一: public static IEnumerable<TResult> Join<TOuter, TInner, TKey, TResult>( this IEnumerable<TOuter> ... 阅读全文
posted @ 2012-03-21 23:35 Xiao Tian 阅读(321) 评论(0) 推荐(0) 编辑
摘要: 一个好的软件架构应该是松耦合的,GOF的《设计模式》讲述了23种设计模式,为我们开发一个松耦合的软件架构提供了很大的帮助。 对于”对象的创建”,一个重要的模式就是”工厂模式”,但是由于工厂模式自身的一些缺陷(关于这点,可以参考这篇文章Inversion of control and Dependency injection ),变得越来越不流行,一种更好的替代方法就是IOC。 IOC,... 阅读全文
posted @ 2012-03-19 22:09 Xiao Tian 阅读(218) 评论(0) 推荐(0) 编辑
摘要: AdoNetAppender主要用于将log存储在数据库中,既然是存储到数据库中,就需要创建一张表来存储log。 这里以SQL SERVER为例: CREATE TABLE [dbo].[Log] ( [Id] [int] IDENTITY (1, 1) NOT NULL, [Date] [datetime] NOT NULL, [Thread] [varchar] (... 阅读全文
posted @ 2012-03-16 22:56 Xiao Tian 阅读(1391) 评论(1) 推荐(1) 编辑
摘要: 操作符:Concat 描述:用于连接2个序列 原型:1种 public static IEnumerable<TSource> Concat<TSource>( this IEnumerable<TSource> first, IEnumerable<TSource> second) string [] dogs = {"kelly","belly","shelly"}; ... 阅读全文
posted @ 2012-03-16 16:49 Xiao Tian 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 标准查询操作符(Standard Query Operator)和查询表达式(Query Expression)是实现LINQ查询2种方式。 通过查看IL代码,我们会发现查询表达式编译后也是转换成标准查询操作符的,并且有些查询时无法用查询表达式来操作的, 因此标准查询操作符显得格外重要,我们将分几次介绍他们。 大多数的标准查询操作符静态类:System.Linq.Enumerable的扩展方法,并... 阅读全文
posted @ 2012-03-15 23:31 Xiao Tian 阅读(345) 评论(0) 推荐(0) 编辑
摘要: 在LINQ之查询语法--from子句中,我们介绍了如何通过多个from子句进行联接操作,下面我们来介绍专门用于联接操作的关键字:join join主要用于根据不同的数据源的某个元素进行判断是否相等以达到将2个数据源联接在一起的目的。 在join子句中,必须使用equals关键字来比较指定的键是否相等。 join子句主要有三种常见的联接类型: 1)内部联接,与SQL的inner join类似... 阅读全文
posted @ 2012-03-15 16:06 Xiao Tian 阅读(593) 评论(0) 推荐(0) 编辑
摘要: 在查询中对查询的结果进行排序是非常正常的操作的,LINQ同样提供了排序的关键字:orderby LINQ的orderby跟SQL有些类似的地方,也有些不一样的地方。 类似的地方: 1)同样提供了升序和降序2中排序方法 2)默认都是升序 3)都可以指定多个键/列进行排序 不同的地方: 1)SQL中升序和降序的关键字可以使用单词缩写如asc,desc来表示, 在LINQ中我们必须... 阅读全文
posted @ 2012-03-15 15:15 Xiao Tian 阅读(1715) 评论(0) 推荐(0) 编辑