3

Pointという名前の構造体とListそのようなポイントを作成しました:

var myPoints = new List<Point> {
    new Point() {Col = 3, Row = 2},
    new Point() {Col = 2, Row = 4},
    new Point() {Col = 5, Row = 4},
};

メソッドを使用してそれらを印刷しようとするとForEach()、そこにメソッド グループを渡すことができません。署名myPoints.ForEach(Console.WriteLine);付きのメソッドが必要であるというコンパイル時エラーが発生しますvoid WriteLine(Point)。ラムダ式を使用するかPoint、構造体ではなくクラスに変更すると、完全に機能します。

object任意の値型からボクシング経由への暗黙的な変換が常にあるにもかかわらず、なぜそれが起こるのConsole.WriteLine(object)でしょうか?したがって、メソッドを選択する必要がありますか?

ありがとうございました!

4

0 に答える 0