IEnumerable的一些基本方法】的更多相关文章

当自定义类需要实现索引时,可以在类中实现索引器. 用Table作为例子,Table由多个Row组成,Row由多个Cell组成, 我们需要实现自定义的table[0],row[0] 索引器定义格式为 [修饰符] 数据类型 this[索引类型 index] 以下是代码 /// <summary> /// 单元格 /// </summary> public class Cell { /// <summary> /// Value /// </summary> pu…
IEnumerable没有一个ForEach方法,我们可以使用C#写一个扩展方法: Source Code: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Insus.NET.ExtendMethods { public static class Enumerables { public st…
/// <summary>/// IEnumerable接口的扩展方法,支持它的实现类是List的情况/// </summary>using System.Collections.Generic;public static class IEnumerableExtensions{ /// <summary> /// 向集合中添加元素 /// </summary> /// <typeparam name="T"></typ…
#region IQueryable<T>的扩展方法 #region 根据第三方条件是否为真是否执行指定条件的查询 /// <summary> /// 根据第三方条件是否为真是否执行指定条件的查询 /// </summary> /// <typeparam name="T">动态类型</typeparam> /// <param name="source">要查询的数据源</param&g…
以前小猪为了累加一个集合中的类容通常会写出类似这样的C#代码: string result ="": foreach (var item in items) { result+=item.centent; } 大概意思就是遍历集合中的每一项来累加其中的一个值.今天小猪才发现其实.NET的集合已经提供了该功能:那就是小猪现在讲的IEnumerable<T>接口的Aggregate方法: 该方法提供了两个重载版本 版本1:Aggregate<TSource>(Fun…
IEnumerable类中的 Any方法,表示集合中有任何一元素满足条件,返回就true , 该方法有两个重载 1. 不带任何参数,表示集合中有元素 2. 参入一个 Func<TSource, bool> 委托 , 如果集合中有任何一个元素满足该条件就返回true , , }; // See if any elements are divisible by two. == ); // See if any elements are greater than three. ); // See i…
IEnumerable类型原生是没有Add方法的,你可以用Contact方法去为它添加元素, 1 items = items.Concat(new[] { "foo" }); 也可以用个扩展方法: 1 2 3 4 5 6 public static IEnumerable<T> Add<T>(this IEnumerable<T> e, T value) {   foreach ( var cur in e) {     yield return c…
接上一篇,我们发现两表连接方式默认为内连接,而我们在SQL中常用到的左连接没有封装方法.换句话说,微软放弃两表左连或右连的这种做法(只有在2个表都存在值时,这样的连接才有意义). 如果要实现表的左连接,就不能调用他现有的封装方法了,可以用LINQ来实现. var joinTable = (from left in table1.AsEnumerable() join right in table2.AsEnumerable() on left["ID"].ToString() equa…
public static IEnumerable<TSource> DistinctBy<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector) { HashSet<TKey> hashSet = new HashSet<TKey>(); foreach (TSource element in source) { if (ha…
在说明用法之后,先要弄点数据. class Product { public int ID { get; set; } public string Name { get; set; } public string Region { get; set; } public decimal Price { get; set; } public bool IsFavorite { get; set; } } List<Product> products = new List<Product>…