目标是创建一个简单的程序来计算预处理集的总和。必须是通用的Sum
以允许它接受整数和浮点集。
以下代码无法编译。你能告诉我如何解决吗?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
static class Program
{
delegate T del<T>(T x);
static T Sum<T>(del<T> df, IEnumerable<T> data)
{
T s = 0;
foreach (var x in data) s += df(x);
return s;
}
static void Main(string[] args)
{
var data = Enumerable.Range(1, 4);
int sum = Sum<int>(x => x * x, data);
Console.WriteLine(sum);
}
}
}
错误消息(粗略地说):
- 无法转换
int
为T
. +=
不适用于T
。