Структуры «быстрее», чем классы - в целом или в .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 полями - это всего лишь вопрос внутренних внутренностей и кишок и тому подобного: )