当前位置: 首页>>代码示例>>C#>>正文


C# Value.Apply方法代码示例

本文整理汇总了C#中Value.Apply方法的典型用法代码示例。如果您正苦于以下问题:C# Value.Apply方法的具体用法?C# Value.Apply怎么用?C# Value.Apply使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Value的用法示例。


在下文中一共展示了Value.Apply方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: SumIf

 public static Value SumIf(Value v0, Value v1)
 {
     if (v0 is ErrorValue) return v0;
       if (v1 is ErrorValue) return v1;
       FunctionValue fv = v0 as FunctionValue;
       if (fv == null)
     return ErrorValue.argTypeError;
       if (fv.Arity != 1)
     return ErrorValue.argCountError;
       // We're using Kahan's accurate sum algorithm; see Goldberg 1991.
       double S = 0.0, C = 0.0;
       v1.Apply(delegate(Value v) {
       if (!Double.IsNaN(S)) {
     double condition = NumberValue.ToDoubleOrNan(fv.Call1(v));
     if (Double.IsNaN(condition))
       S = condition; // Error propagation from predicate
     else if (condition != 0) {
       double Y = NumberValue.ToDoubleOrNan(v) - C, T = S + Y;
       C = (T - S) - Y;
       S = T;
     }
       }
     });
       return NumberValue.Make(S);
 }
开发者ID:Dugin13,项目名称:P10,代码行数:25,代码来源:Functions.cs

示例2: CountIf

 public static Value CountIf(Value v0, Value v1)
 {
     if (v0 is ErrorValue) return v0;
       if (v1 is ErrorValue) return v1;
       FunctionValue fv = v0 as FunctionValue;
       if (fv == null)
     return ErrorValue.argTypeError;
       if (fv.Arity != 1)
     return ErrorValue.argCountError;
       double count = 0.0;
       v1.Apply(delegate(Value v) {
     if (!Double.IsNaN(count)) {
       double condition = NumberValue.ToDoubleOrNan(fv.Call1(v));
       if (Double.IsNaN(condition))
     count = condition; // Hack: Error propagation from predicate
       else if (condition != 0)
     count++;
     }
       });
       return NumberValue.Make(count);
 }
开发者ID:Dugin13,项目名称:P10,代码行数:21,代码来源:Functions.cs


注:本文中的Value.Apply方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。