带委托并且带约束的泛型方法

    public interface ITest
    {
        decimal Balance { get; }
    }
public class Test : ITest
    {
        public Test(decimal balance)
        {
            this._balance = balance;
        }
        private decimal _balance;
        public decimal Balance
        {
            get
            {
                return _balance;
            }
        }
    }
class Program
    {
        static void Main(string[] args)
        {
            List<Test> list = new List<Test>() { new Test(23), new Test(5) };
            decimal amount = Accumulate<Test, decimal>(list, (item, sum) => sum += item.Balance);
            Console.WriteLine(amount);
            Console.ReadKey();
        }

        public static T2 Accumulate<T1, T2>(List<T1> source, Func<T1, T2, T2> action) where T1 : ITest where T2 : struct
        {
            T2 sum = default(T2);
            foreach (T1 item in source)
            {
                sum = action(item, sum);
            }
            return sum;
        }
    }
时间: 2024-10-12 08:37:25

带委托并且带约束的泛型方法的相关文章

(二)创建带主键和约束的数据表

内容摘要 创建带主键和约束的表 创建带组合主键和外键的表 1. 创建带主键和约束的表 Student (学生表) CREATE TABLE Student ( sclass varchar(10) NOT NULL, --- 限制非空 snumb varchar(10) PRIMARY KEY, --- 设置为主键 sname varchar(40) NOT NULL, --- (下)设置默认值男,约束选项为男女 sgender varchar(4) DEFAULT '男' CONSTRAINT

C# 语法 ( 框架自带委托和异步 )

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; namespace 异步线程 { class AsyncHronous { private int i = 0; public void Show() { for (int i = 0; i < 5; i++) { //系统自带的委托(有参数无返回值,有参数有返回值) Actio

五一装修优惠那么大,云麦装修带你装修带你飞

"五一"小长假来临之际,看着别人都在做着出行计划,你还在埋头苦查装修攻略吗?想着别人又要晒美食晒美景,你还在计划到材料城跑断腿吗?不如,把房子装修交给我们,你免费旅游去! 云麦装饰-米图原创设计机构大明宫钻石店更推出"五一放松计划",活动期间签订装修合同客户,即可参加抽奖,旅游基金百分百中奖!韩国首尔五天四日双人游,追逐太阳的后裔宋欧巴的脚步!香港迪士尼,珠海长隆海洋王国双人套餐!更有丽江/成都/三亚/厦门/贵阳等往返机票!300/500携程旅游基金,你想去哪就去哪

带团队就是带野心、带梦想、带欲望、 带状态!

带团队就是带野心.带梦想.带欲望.带状态:企业说到底是人,管理说到底是借力.失败的领导者以其一己之力解决众人问题,成功的领导者集众人之力解决企业问题. 经营企业的过程是一个借力的过程,只有越来越多的人愿意把力借给你,企业才会成功.不想做后勤的领导,不是好领导.作为老板,不要怕员工比你强,如果员工比你弱,说明你选人不当,把员工推到前台,给他们权力与责任,你在后面提供服务,这就是成功的秘密. 1.[快战术.慢战略] 市场环境下,"快"是战术性考虑,"慢"是战略性思考,快

带约束都泛型方法

public interface IAccount { decimal Balance { get; set; } string Name { get; } } public class Account : IAccount { private decimal balance; public decimal Balance { get { return balance; } set { balance = value; } } public string Name { get { throw n

自定义委托类型 - .Net自带委托类型

委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递. 与其他的类不同,委托类具有一个签名,并且它只能对与其签名匹配的方法进行引用. 一.自定义委托类型 1.语法结构:访问修饰符 delegate 返回类型 委托类型名称(参数列表); 例如: // 声明一个委托类型,两个参数均为int类型,返回值为int类型 public delegate int Calc(int a, int b);自定义的委托可以不带参数,也可以没有返回值. 接下来我们看一个例子怎么使用委托 1.

带委托的方法的使用

1 class Program 2 { 3 static void Main(string[] args) 4 { 5 string[] names = { "Burke", "Connor", "Frank", "Everett", "Albert", "George", "Harris", "David" }; 6 7 //使用yield ru

九爷带你了解 带你了解 Nosql Redis ttserver Flare memcache比较

Nosql Redis ttserver Flare memcache比较 随着互联网web2.0网站的兴起,非关系型的数据库现在成了一个极其热门的新领域,非关系数据库产品的发展非常迅速.而传统的关系数据库在应付 web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,例如: 1.High performance - 对数据库高并发读写的需求 web2.0网站要根据用户个性化信息来实时生成动态页面和提供动态信息,所以基本上无法使用动

带你理解带你飞——高斯混合模型算法

GMM这是图像处理,模式识别和深度学习领域一个百嚼不烂的话题.很多人被一堆数学公式,迭代求和和看似毫无联系的likehood EM算法搞得糊里糊涂. 其实就算羡慕着很多牛气哄哄的学霸炫耀公式推理的IT普工们,我们有没有问过自己,我们真的知道GMM吗?于是有些人和我一样有了如下的思考和疑问: 1.到底什么是高斯混合模型?最好能一句话或者简单的话说明白,至少让我一辈子也忘不掉这个该死的算法... 2.GMM是如此复杂有效,能让GMM算法向富士康的iphone流水线一样,虽然精密庞杂但却能完整直观的展