泛型类(泛型方法)的学习
//泛型类使用前 必须先定义 和普通类一样
// 数值类型Struct dynamic(动态更新)
//格式: 类名
/// <summary>
/// 自定义泛型类
/// </summary>
/// <typeparam name="T"></typeparam>
public class cypList<T>
{
private List<T> values = new List<T>();
/// <summary>
/// 索引器 集合对象必要手段 一个对象通过索引去访问元素,表明对象提供了索引器
/// </summary>
/// <param name="index"></param>
/// <returns></returns>
public T this[int index]
{
get { return values[index]; }
set { values[index] = value; }
}
/// <summary>
/// 获取集合长度
/// </summary>
public int counts { get { return values.Count; } }
/// <summary>
/// 获取当前时间
/// </summary>
public string currentTime
{
get { return DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"); }
}
/// <summary>
///集合添加元素
/// </summary>
/// <param name="item"></param>
public void Add(T item)
{
values.Add(item);
}
/// <summary>
/// 集合添加元素集合
/// </summary>
/// <param name="itmes"></param>
public void AddRange(T[] itmes)
{
values.AddRange(itmes);
}
/// <summary>
/// 集合移除元素
/// </summary>
/// <param name="item"></param>
public void Remove(T item)
{
if (values.Contains(item)) values.Remove(item);
}
/// <summary>
/// 计算元素之和
/// </summary>
/// <typeparam name="T1"></typeparam>
/// <returns></returns>
public T1 Sum<T1>()
{
dynamic sum=0;
foreach (var item in values)
{
sum +=item;
}
return sum;
}
/// <summary>
/// 计算元素平均数
/// </summary>
/// <typeparam name="T1"></typeparam>
/// <returns></returns>
public T1 AVG<T1>()
{
dynamic sum = 0;
foreach (var item in values)
{
sum += item;
}
return sum / values.Count;
}
/// <summary>
/// 计算数的平方
/// </summary>
/// <typeparam name="T1"></typeparam>
/// <typeparam name="T2"></typeparam>
/// <param name="NUM"></param>
/// <returns></returns>
public T1 Square<T1, T2>(T2 NUM) where T1 : struct, T2
{
dynamic a = NUM;
return a*a;
}
}
浙公网安备 33010602011771号