111,088
社区成员




int sum = 0;
for (int i = 1; i <= 100; i++)
{
sum = sum + i;
}
Console.WriteLine(sum);
sum = 0;
for (int i = 1; i <= 1000; i++)
{
sum = sum + i;
}
Console.WriteLine(sum);
static void Main(string[] args)
{
Console.WriteLine(Sum(100));
Console.WriteLine(Sum(1000));
}
static int Sum(int n)
{
int sum = 0;
for (int i = 1; i <= n; i++)
{
sum = sum + i;
}
return sum;
}
int sum = 0;
for (int i = 1; i <= 100; i++)
{
if (i % 2 == 0) sum = sum + i;
}
Console.WriteLine(sum);
static int Sum(int n, int type)
{
int sum = 0;
for (int i = 1; i <= n; i++)
{
if (type == 1)
{ sum = sum + i; }
if (type == 2)
{ if (i % 2 == 0) sum = sum + i; }
}
return sum;
}
delegate bool PredicateDelegate(int n); // 定义委托
static bool foo1(int n)
{
return true;
}
static bool foo2(int n) // 将Sum函数中可变的代码抽取出来作为一个函数
{
return n % 2 == 0;
}
static void Main(string[] args)
{
Console.WriteLine(Sum(100, foo2)); // 将函数作为参数传给Sum
}
static int Sum(int n, PredicateDelegate pred)
{
int sum = 0;
for (int i = 1; i <= n; i++)
{
if (pred(i)) sum = sum + i; // 将委托的代码放在原先的位置上
}
return sum;
}
bool foo3(int n) { return n % 2 != 0; }
Console.WriteLine(Sum(100, delegate(int n) { return n % 2 == 0; }));
Console.WriteLine(Sum(100, (n) => n % 2 == 0));
Console.WriteLine(Sum(100, n => n % 2 == 0));
Console.WriteLine(Sum(100, n => true));