using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;

namespace Tool
{
    ///where T : class  使用的泛型只能是类 ,删除这句话,可以是任何类型
    public class MyList<T> : IEnumerable where T : class
    {
        public T this[int index] { get { return Ts[index]; } }
        ;
        ];
        public int Add(T t)
        {
            if (Count == Ts.Length)
            {
                T[] Tstemp = ];
                ; i < Ts.Length; i++)
                {
                    Tstemp[i] = Ts[i];
                }
                Ts = Tstemp;
            }
            Ts[Count] = t;
            Count++;
            return Count;
        }

        //public IEnumerator GetEnumerator()
        //{
        //    return Ts.GetEnumerator();
        //}
        public IEnumerator GetEnumerator()
        {
            ; i < Count; i++)
            {
                yield return Ts[i];
            }
        }
        public delegate TResult MyFunc<in T, out TResult>(T arg);
        public IEnumerable<T>
            Where(MyFunc<T, bool> predicate)
        {
            ; i < Count; i++)
            {
                if (!predicate.Invoke(Ts[i]))
                {
                    continue;
                }
                yield return Ts[i];
            }
        }
        public T Find(MyFunc<T, bool> predicate)
        {

            ; i < Count; i++)
            {
                if (predicate.Invoke(Ts[i]))
                {
                    return Ts[i];
                }

            }
            return Activator.CreateInstance<T>();

        }
        public bool RomveAt(int index)
        {
            try
            {
                ; i++)
                {
                    Ts[i] = Ts[i + ];
                }
                Count--;
                return true;
            }
            catch (Exception)
            {

                throw;
            }
        }
        public void Insert(int index, T item)
        {
            if (Ts.Length == Count)
            {
                T[] Tstemp = ];
                ; i < Ts.Length; i++)
                {
                    Tstemp[i] = Ts[i];
                }
                Ts = Tstemp;
            }
            T temp = Ts[index];
            for (int i = Count; i >= index; i--)
            {
                Ts[i + ] = Ts[i];
            }
            Ts[index] = item;
            Count++;
        }
    }
}

MyList 泛型委托的更多相关文章

  1. 用五分钟重温委托,匿名方法,Lambda,泛型委托,表达式树

    这些对老一代的程序员都是老生常谈的东西,没什么新意,对新生代的程序员却充满着魅力.曾经新生代,好多都经过漫长的学习,理解,实践才能掌握委托,表达式树这些应用.今天我尝试用简单的方法叙述一下,让大家在五 ...

  2. Predicate<T>与Func<T, bool>泛型委托

    引用别人的: static void Main(string[] args) { List<string> l = new List<string>(); l.Add(&quo ...

  3. 委托学习笔记后续:泛型委托及委托中所涉及到匿名方法、Lambda表达式

    引言: 最初学习c#时,感觉委托.事件这块很难,其中在学习的过程中还写了一篇学习笔记:委托.事件学习笔记.今天重新温故委托.事件,并且把最近学习到和委托相关的匿名方法.Lambda表达式及泛型委托记录 ...

  4. 转帖:用五分钟重温委托,匿名方法,Lambda,泛型委托,表达式树

    用五分钟重温委托,匿名方法,Lambda,泛型委托,表达式树 这些对老一代的程序员都是老生常谈的东西,没什么新意,对新生代的程序员却充满着魅力.曾经新生代,好多都经过漫长的学习,理解,实践才能掌握委托 ...

  5. C#的泛型委托与闭包函数

    前些天Wendy问我说Func<T, ResultT>是个什么意思,初学C#都觉得这样的写法很奇葩,甚至觉得这样写有点诡异,其实以我来看,这是体现C#函数式编程的又一个亮点. 从MSDN上 ...

  6. C#中使用委托、接口、匿名方法、泛型委托实现加减乘除算法

    使用C#实现加减乘除算法经常被用作新手练习.本篇来分别体验通过委托.接口.匿名方法.泛型委托来实现. 使用委托实现 加减乘除拥有相同的参数个数.类型和返回类型,首先想到了使用委托实现. //创建一个委 ...

  7. C#泛型委托,匿名方法,匿名类

    class Test { delegate K proxy<T, K>(T t, K k); //泛型委托,注意返回值的写法,返回值的类型K先于其声明proxy<T,K>中的K ...

  8. 泛型委托 Predicate/Func/Action

    Predicate 泛型委托  表示定义一组条件并确定指定对象是否符合这些条件的方法.此委托由 Array 和 List 类的几种方法使用,用于在集合中搜索元素.看看下面它的定义: // Summar ...

  9. C#的泛型委托Predicate/Func/Action(转)

    Predicate 泛型委托:表示定义一组条件并确定指定对象是否符合这些条件的方法.此委托由 Array 和 List 类的几种方法使用,用于在集合中搜索元素. 类型参数介绍:    T: 要比较的对 ...

随机推荐

  1. Python中的实例方法、classmethod和staticmethod的区别

    class NewsPaper(object): # 类属性 __print_times = 0 # 下划线表示私有属性 # 实例方法 def __init__(self, title, conten ...

  2. Java 帝国之建造者模式

    Java 帝国之建造者模式 原创: 王钦誉 码农翻身 今天 本文来自王钦誉的投稿,老刘做了较大修改. 原文地址: https://xiaoqinyu0000.github.io/2018/06/11/ ...

  3. tyvj/joyoi 1340 送礼物

    论搜索顺序的优越性. 从小到大搜索,T到怀疑人生. 从大到小搜索,轻松AC. 双向搜索. 是这样的.我们首先排序一下,然后翻转.(当然也可以写cmp) 然后我们搜前半部分,把结果记录在某一数组中. 然 ...

  4. RedHat下安装MySQL5.5

    MYSQL在windows下面安装可能一帆风顺,但是如果真的到纯图形界面的redhat服务器上,可能就不是那么容易了, 这里我就详细的介绍一下MYSQL5.5在linux下的安装以及注意的问题,避免后 ...

  5. (转)C++ 值传递、指针传递、引用传递详解

    一直以来对函数的值传递引用传递理解很模糊,这篇文章可以说是给自己扫盲了. 值传递:实参不会发生改变,是因为形参传递的是不是实参的源地址(形参和实参地址不一样).不影响实参 指针传递:本质也是值传递,只 ...

  6. ggplot2画histogram(坐标轴刻度值字体大小,坐标轴标题字体大小,柱形宽度,大标题字体大小、居中)

    见链接:https://www.r-bloggers.com/how-to-make-a-histogram-with-ggplot2/ 写的很完整. 此外,关于一些参数的用法: theme(plot ...

  7. Windows 查看端口占用情况

    今天打算运行一下当年的毕业设计,结果启动ActiveMQ的时候,发现报错 原来是端口占用了.在Windows上怎样看呢? Ctrl+Alt+Del 调出任务管理器 再找到资源监视器 原来是依赖于Erl ...

  8. Salt初识和安装

    Salt Salt是一个配置管理系统,能够根据定义的状态,配置远程节点,比如保证远程节点上指定的安装包安装,运行指定的服务.Salt也是一个分布式远程执行系统,用于在远程节点上执行命令和请求数据,不论 ...

  9. Session兑现的一级缓存

    快照机制:

  10. Java 中的悲观锁和乐观锁的实现

    一.定义 1.悲观锁:即很悲观,每次拿数据的时候都觉得数据会被人更改,所以拿数据的时候就把这条记录锁掉,这样别人就没法改这条数据了,一直到你的锁释放. 2.乐观锁:即很乐观,查询数据的时候总觉得不会有 ...