Инициализация в конструкторе или теле класса ? - C#
Формулировка задачи:
Вопрос я думаю достаточно нубский, но google не помог.
например есть класс
как будет правильнее
или так
и в чём разница инициализации экземпляра Сenter в теле класса или конструкторе класса.
и в каких случаях тот или иной способ предпочтительнее.
в документации по С++ нашёл что-то типа порядка инициализации, но честно говоря не стал тратить времени и засорять свой мозг, и так там скоро паштет будет
прошу пояснить или дать ссылки на статейку проясняющая этот вопрос.
ps учусь сам, поэтому переживаю что упускаю какие-то важные аспекты теории.
public class Point
{
public int X {get; set;}
public int Y {get; set;}
}public class ShapeCircle
{
public Point Center;
public ShapeCircle(int x, int y)
{
Center = new Point();
Center.X = x;
Center.Y = y;
}
}public class ShapeCircle
{
public Point Center = new Point();
public ShapeCircle(int x, int y)
{
Center.X = x;
Center.Y = y;
}
}Решение задачи: «Инициализация в конструкторе или теле класса ?»
textual
Листинг программы
using System;
using System.Collections.Generic;
namespace ConsoleApplication
{
public struct Point
{
public int X { get; set; }
public int Y { get; set; }
}
public class ShapeCircle
{
public Point Center { set; get; }
public ShapeCircle(int x, int y) {
Center = new Point {
X = x,
Y = y
};
}
}
public class Program
{
static void Main(string[] args) {
ShapeCircle sc = new ShapeCircle(10, 20);
Console.WriteLine("{0}, {1}", sc.Center.X, sc.Center.Y);
}
}
}