带约束都泛型方法

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 new NotImplementedException();
            }
        }
    }
private decimal _balance;
        public decimal Balance
        {
            get
            {
                return _balance;
            }

            set
            {
                _balance = value;
            }
        }

        public string Name
        {
            get
            {
                throw new NotImplementedException();
            }
        }
    }
class Program
    {
        static void Main(string[] args)
        {
            List<Account> list = new List<Account>() { new Account() { Balance = 5 }, new Account() { Balance = 5 } };

            decimal retvalue = Accumulate<Account>(list);
            Console.WriteLine(retvalue);

            List<Bccount> list1 = new List<Bccount>() { new Bccount() { Balance = 8 }, new Bccount() { Balance = 6 } };
            decimal retvalue1 = Accumulate<Bccount>(list1);
            Console.WriteLine(retvalue1);

            Console.ReadKey();
        }

        public static decimal Accumulate<T>(List<T> source) where T : IAccount
        {
            decimal sum = 0;
            foreach (T a in source)
            {
                sum += a.Balance;
            }
            return sum;
        }
    }
时间: 2024-10-10 21:32:20

带约束都泛型方法的相关文章

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

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

带约束的最优化问题

支持向量机SVM的训练过程中需要求解带约束的最优化问题. 带约束的最优化问题通常表述如下: objective:minw f(w)s.t. {gi(w)≤0,hj(w)=0,i=1,2,3...n;j=1,2,3...m;不等式约束等式约束 gi(w),hj(w)和f(w)一般都是连续可导的.要求在满足gi(w)≤0,hj(w)=0的前提下求能使得目标函数f(w)最小化的w. 学习支持向量机SVM时,拉格朗日对偶.Slater条件.KKT条件等一大堆概念席卷而来,让没系统学习过凸优化的笔者一头雾

用二次规划法解带约束的线性回归

对于解带约束(线性约束)的线性回归通常的办法是,将约束直接表示在线性回归中,也就是减少一个变量(即回归到线性约束本身的自由变量数目).然而今天由于要解一个问题发现了另一种思路的解法,是比变换变量更为通用的办法,就是用二次规划法解带约束的线性回归. 二次规划法有如下一般形式: 各个部分为: 特别地如果约束条件为等号,则可以用拉格朗日乘子法直接求解.如果Q是不定矩阵,甚至有一个特征值是负数的,问题就是NP难问题.. 解决一个带约束的线性回归问题,形如: 需要求解最小化: 这个式子展开来写成矩阵形式就

POJ 1062 【带约束的最短路问题】

中文题题意不写. 建图: 我自己想到的建图方式是把每个物品看作两个点,编号分别是i和i+n,然后每个物品两个点之间边的权值是物品本身的价值.然后从第i个点往外连边,目标是可替代品顶点编号较小的点,权值为替代之后的优惠费用,然后将可替代品的顶点编号较大的点连向第i+n个顶点,权值是0. 这种建图方法将点的数量增加为原来的两倍,边的数量也相应增加,所以并不是好的建图方法. 大牛的建图方法是把旅行家看作是一个顶点,边的出路是每个物品,权值是每个物品对应的价值,然后当有物品可以有替代物品的时候,连边,起

非线性规划带约束-scipy.optimize.minimize

1 # coding=utf-8 2 3 from scipy import optimize 4 import numpy as np 5 6 7 8 9 10 11 12 13 14 15 def get(args): 16 a, b, c, d, e, f, g, h = args 17 fun = lambda x:a*x[0]**g+b*x[0]*x[1]+c*x[1]**h+d*x[0]+e*x[1] + f 18 #fun = lambda x:(x[0] - 1) ** h +

用Java实现 遗传算法解带约束的多元函数极值问题

1.问题描述 针对如下问题,设计遗传算法进行求解. 2.Java源代码 GA.java package GA; import java.util.Random; class GA { public static final int varnum = 4;//变量的个数 public static final double[] lower = new double[varnum]; public static final double[] uper = new double[varnum]; pu

转:C# 泛型编程之泛型类、泛型方法、泛型约束

C# 泛型编程之泛型类.泛型方法.泛型约束 分类: asp.net c#2012-08-07 17:36 5998人阅读 评论(0) 收藏 举报 c#编程classobject编译器struct 泛型方法 在C#2.0中,方法可以定义特定于其执行范围的泛型参数,如下所示: public class MyClass<T>    {        //指定MyMethod方法用以执行类型为X的参数        public void MyMethod<X>(X x)         

C# 泛型编程之泛型类、泛型方法、泛型约束

所谓泛型,即通过参数化类型来实现在同一份代码上操作多种数据类型. 泛型编程是一种编程范式,它利用"参数化类型"将类型抽象化,从而实现更为灵活的复用.在定义泛型类时,在对客户端代码能够在实例化类时,可以用类型参数的类型种类施加限制. 泛型方法 在C# 2.0中,方法可以定义特定于其执行范围的泛型参数,如下所示: public class MyClass<T> { //指定MyMethod方法用以执行类型为X的参数 public void MyMethod<X>(X

老程序员:带校招生一天被问几十回,基本语法都不会,可怕!

记得学生时代的时候,老师经常跟我们说:"同学们,不懂的就要问,别一个人鼓弄!"那时候我们都积极的向老师提问.而到了入职上班后,自己带新人时候才明白这有多烦,特别是那种自己不肯动脑筋先过一道再来问的新人,那简直就能够被烦死! 最近就有一名程序员网友在网上吐槽自己手下的一个新人,代码功底一点都没有,数据库又一点都不会,让去学一下还不愿意,一个基本的语法都不会,让自己百度还不乐意,硬要问,本来自己事也多,还要处理他的问题,简直要累晕! 该程序员的一番话简直说道了很多老程序员的心坎里,很多老员