ArrayList实现了System.Collections空间下的IEnumerable接口,这个接口是非泛型的。如果要使用LINQ,必须声明枚举变量的类型,依赖Cast查询运算符转换枚举类型。 using System; using System.Collections; using Syste ...
分类:
其他好文 时间:
2020-04-15 21:43:23
阅读次数:
75
static IEnumerable<int> Fibs(int count) { for (int i = 0,prevFib=1,curFib=1; i < count; i++) { yield return prevFib; int newFib = prevFib + curFib; pr ...
本篇博客所讲的是C#泛型中的协变和逆变。 首先讲协变: 协变 要把泛型参数定义为协变,可在类型定义中使用out关键字,例如: public interface IEnumerable<out T> : IEnumerable { IEnumerator<T> GetEnumerator(); } 相 ...
ArrayList实现了System.Collections空间下的IEnumerable接口,这个接口是非泛型的。如果要使用LINQ,必须声明枚举变量的类型,依赖Cast查询运算符转换枚举类型。 using System; using System.Collections; using Syste ...
分类:
其他好文 时间:
2020-03-06 01:22:46
阅读次数:
74
记录LINQ学习过程。 概要 LINQ是一种“语言集成”的查询表达式,使用LINQ可以智能提示和进行类型检查。C#里可以编写的LINQ查询有SQL数据库、XML文档、ADO.NET数据集、支持IEnumerable和IEnumerable的对象。使用LINQ,可以简单对数据源进行分组、排序、筛选。有 ...
分类:
其他好文 时间:
2020-02-22 22:26:50
阅读次数:
104
1、Queue声明创建对象。(Queue为泛型对象。) public class Queue<T> :IEnumerable<T>,System.Collections.ICollection,IReadOnlyCollection<T> 本质为Array对象存储数据。 Queue<string> ...
延迟加载的意义: 当你使用EF从数据库中查询数据时,数据不是立即加载到内存中的,而是当你使用时才开始加载到内存中(注意:每一次使用数据,都会重新进入数据库进行查询,保证数据的新鲜度)。 写入的lambda方法默认都会被转换成expression,然后调用IQueryable的方法 db.Set<>( ...
分类:
Web程序 时间:
2020-02-06 01:11:19
阅读次数:
69
需要实现一个对象为可遍历的对象,必须实现IEnumerable或声明GetEnumerator 方法,其中,IEnumerable 不是必须实现,但是GetEnumerator 方法则必须声明: 例如,先声明一个Item类,该类用于遍历的实体 接下来我们实现 IEnumerable ,同时实现 Ge ...
分类:
编程语言 时间:
2020-01-20 21:12:35
阅读次数:
90
在VS中新建EF之后,右键解决方案下的引用, 选择管理NuGet程序包,搜索Z.EntityFramework.Extensions并安装。 在IRepository中加入方法 在 Repository进行实现 1 public virtual void BulkInsert(IEnumerable ...
分类:
其他好文 时间:
2020-01-18 19:20:16
阅读次数:
271
目前实现了两种方法,一种根据指定类型筛选IEnumerable的元素,跳过序列中指定数量的元素,返回指定数量的连续元素,最后将取出的元素转换成Array类型存放在DataTable中 DataTable[] dts = new DataTable[number]; for (int i = 0; i ...