Biorąc pod uwagę następujący przykład, czy obiektywnie jest lepszy/szybszy/bezpieczniejszy niż inny? Czy przypadkowe tworzenie obiektów powinno być najlepszą praktyką tam, gdzie jest to praktyczne?Czy tworzenie instancji literału obiektu jest szybsze niż ustawianie właściwości?
Gdzie jest to nieodpowiednie?
class Person
{
public string name;
public int age;
}
void MakePeople()
{
Person myPerson = new Person();
myPerson.name = "Steve";
myPerson.age = 21;
Person literalPerson = new Person { name = "John", age = 22 };
}
Wygenerowana IL z tych dwóch metod powinna być identyczna. Więc nie. –
Jedna linia zamiast trzech i bardziej przejrzysta intencja i efekt. Mogło być 10 razy wolniejsze i nadal byłby to dobry pomysł. Nie jestem w stanie pojąć, w jaki sposób ludzie naprawiają małe różnice w wydajności (jako domyślne podejście, cieszę się z mikrooptymalizacji hotspotów). – delnan