誰かが私にどのように機能するのか教えてもらえますか?私は感謝されます。ダンノーはこれをデバッグする方法。なぜこのコードが109を返しますか?
using System;
class Prg
{
private static Func<double, Func<double, double>> Add(int c)
{
return x => y => x + y++ + (c *= 2);
}
public static void Main(string[] args)
{
int a = 1;
int b = 100;
var F = Add(2);
var G = F(a);
G(b);
Console.WriteLine(G(b));
}
}
EDIT:私たちのC#試験を楽しんでいただければもう1つあります。ここにコードがあります。
delegate int F();
class Prg { int a = 10;
public F Adder(int x) {
int i = x;
return delegate {
return a += i++; };
}
static void Main() {
Prg p = new Prg();
F f = p.Adder(5);
p.Adder(10);
f();
System.Console.Write(f());
} }
この記事のなか見!いくつかの曖昧なコードの課題? – Dykam
ダイカムがポイントを作った。 「家では絶対試してはいけない!しかし、ラムダによって割り当てられて参照されるメモリ変数の特定の動作を指摘したい場合は、もっと良い例を作ることができます。 – doblak
これは私が持っているC#の試験の仕事の一つです。 – user378653