MyList 泛型委托
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 泛型委托的更多相关文章
- 用五分钟重温委托,匿名方法,Lambda,泛型委托,表达式树
这些对老一代的程序员都是老生常谈的东西,没什么新意,对新生代的程序员却充满着魅力.曾经新生代,好多都经过漫长的学习,理解,实践才能掌握委托,表达式树这些应用.今天我尝试用简单的方法叙述一下,让大家在五 ...
- Predicate<T>与Func<T, bool>泛型委托
引用别人的: static void Main(string[] args) { List<string> l = new List<string>(); l.Add(&quo ...
- 委托学习笔记后续:泛型委托及委托中所涉及到匿名方法、Lambda表达式
引言: 最初学习c#时,感觉委托.事件这块很难,其中在学习的过程中还写了一篇学习笔记:委托.事件学习笔记.今天重新温故委托.事件,并且把最近学习到和委托相关的匿名方法.Lambda表达式及泛型委托记录 ...
- 转帖:用五分钟重温委托,匿名方法,Lambda,泛型委托,表达式树
用五分钟重温委托,匿名方法,Lambda,泛型委托,表达式树 这些对老一代的程序员都是老生常谈的东西,没什么新意,对新生代的程序员却充满着魅力.曾经新生代,好多都经过漫长的学习,理解,实践才能掌握委托 ...
- C#的泛型委托与闭包函数
前些天Wendy问我说Func<T, ResultT>是个什么意思,初学C#都觉得这样的写法很奇葩,甚至觉得这样写有点诡异,其实以我来看,这是体现C#函数式编程的又一个亮点. 从MSDN上 ...
- C#中使用委托、接口、匿名方法、泛型委托实现加减乘除算法
使用C#实现加减乘除算法经常被用作新手练习.本篇来分别体验通过委托.接口.匿名方法.泛型委托来实现. 使用委托实现 加减乘除拥有相同的参数个数.类型和返回类型,首先想到了使用委托实现. //创建一个委 ...
- C#泛型委托,匿名方法,匿名类
class Test { delegate K proxy<T, K>(T t, K k); //泛型委托,注意返回值的写法,返回值的类型K先于其声明proxy<T,K>中的K ...
- 泛型委托 Predicate/Func/Action
Predicate 泛型委托 表示定义一组条件并确定指定对象是否符合这些条件的方法.此委托由 Array 和 List 类的几种方法使用,用于在集合中搜索元素.看看下面它的定义: // Summar ...
- C#的泛型委托Predicate/Func/Action(转)
Predicate 泛型委托:表示定义一组条件并确定指定对象是否符合这些条件的方法.此委托由 Array 和 List 类的几种方法使用,用于在集合中搜索元素. 类型参数介绍: T: 要比较的对 ...
随机推荐
- XML学习入门
很久没更新博客了.来一发! 关于XML,当时没学过感觉难吧?其实XML还是蛮好学的,这里留下一些入门级别的内容. XML中dtd(文档类型定义)的主要用处是约束xml,也可以去约束html,xhtml ...
- Electron入门笔记(一)-自己快速搭建一个app demo
Electron学习-快速搭建app demo 作者: 狐狸家的鱼 Github: 八至 一.安装Node 1.从node官网下载 ,最好安装.msi后缀名的文件,新手可以查看安装教程进行安装. 2. ...
- 【洛谷P1164 小A点菜】
题目背景 uim神犇拿到了uoi的ra(镭牌)后,立刻拉着基友小A到了一家……餐馆,很低端的那种. uim指着墙上的价目表(太低级了没有菜单),说:“随便点”. 题目描述 不过uim由于买了一些辅(e ...
- 关于code::blocks的编译速度问题
在一个程序写好之后,按下F9,便可以进行编译并且运行,在2018年的寒假之中,编译速度一直困扰着我,因为每次编译都需要十秒左右的时间,体验极差.而此前,编译时间一直保持在0 second. 经过我的多 ...
- HTML学习笔记Day5
一.CSS属性 1.文本溢出是否“...”显示属性:text-overflow:clip(不显示省略标记)/ellipsis(文本溢出时“...”显示) 定义此属性有四个必要条件:1)须有容器宽度:w ...
- 某些浏览器具有dns缓存功能,大家更改域名指向,建议清理下浏览器缓存
最近遇到一个很郁闷的问题,在我们的的ngnix服务器上原来默认的网址需要更改.更改后,重启了ngnix.可是在客户端使用360浏览器打开网址.地址还是指向旧地址.直接输入服务器 IP地址转向了新地址, ...
- zookeeper脑裂
出现: 在搭建hadoop的HA集群环境后,由于两个namenode的状态不一,当active的namenode由于网络等原因出现假死状态,standby接收不到active的心跳,因此判断activ ...
- 2017-12-15python全栈9期第二天第七节之练习题
#!/user/bin/python# -*- coding:utf-8 -*-print(6 or 2 > 1)print(3 or 2 >1 )print(0 or 5 <4)p ...
- PL/SQL Developer
下载 一.Oracle 客户端(两种) 1.免安装轻量版(以这个为例) https://www.oracle.com/technetwork/database/database-technologie ...
- SQLyog远程连接腾讯云服务器数据库Mysql遇到的坑
首先说明我的数据库是安装在云服务器上,不是专业的数据库服务器,没错就是10块钱包月的. 然后觉得使用SQLyog远程维护数据库比较方面,可是怎么都登录不上去. 下面分析原因: 1.安全组是否放过了访问 ...