Структуры «быстрее», чем классы - в целом или в .NET Framework?

Поскольку структуры являются типами значений, их данныескопированный когда передается в метод в качестве аргумента. Пример:

int someInt = 7;

DoSomeMethod(someInt); // <-- This is passing the "value" 7.

Пока что это легко понять, и вы, вероятно, задаетесь вопросом, насколько мой вопрос верен ... поэтому рассмотрим следующее:

public struct TimmysStructOfGoodness
{
    public int SomeInt1;
    public int SomeInt2;
    public int SomeInt3;
    // ... later that day ...
    public int SomeInt999;
}

а затем со ссылкой на следующий код:

TimmysStructOfGoodness someStructOfGoodness = new blah blah blah...

DoSomeMethod(someStructOfGoodness); // <-- **HERE IS WHERE THE QUESTION APPLIES!**

Вышеприведенный оператор пытается выделить несколько мегабайт памяти для «копирования» моего значения-типа (структуры)?

Если ответ - да, то когда и где проходит грань между «быстрее» и «медленнее»?

Если нет - то почему бы и нет? Потому что то, что я знаю о типах значений, это должно быть проблемой.

ОСНОВНОЙ ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Я знаю, что это не имеет ничего общего с тем, почему вы будете использовать struct, а не класс, и я знаю, что я никогда не буду создавать структуру с 999 полями - это всего лишь вопрос внутренних внутренностей и кишок и тому подобного: )

Ответы на вопрос(5)

Ваш ответ на вопрос