Я довольно новичок в C# и программировании в целом, поэтому почему я задаю этот вопрос.Использование структур или классов в качестве параметров
Недавно я получил мой код, рассмотренный коллегой, и он заявил, что для следующего метода я должен использовать класс для некоторых параметров.
public List<Items> DoSomething(List<OtherItems> someItems, int amountOfItems,
DbGeopgrahpy Location)
{ //More stuff, irrelevant to the question.
Он указал, что я должен поставить amountOfItems
и Location
в классе, который будет содержать эти значения вместо этого.
Этот метод вызывается из контроллера, который возвращает эти данные клиенту.
Теперь мой вопрос: почему? Я понимаю, что это улучшит читаемость (возможно, imo), но есть ли преимущества использования классов в качестве параметров? Я думаю, что могу предположить, что это повлияло бы на производительность отрицательно, когда вы должны объявлять класс каждый раз, когда хотите вызвать этот метод.
Я также обнаружил, что структуры могут использоваться таким образом, если это хорошая практика, когда следует использовать структуры и когда я должен использовать классы?
* Теперь мой вопрос, почему * - почему ты не спросил его? Существует много существующих тем «struct vs class», например. [Здесь] (http://stackoverflow.com/q/3942721/1997232). – Sinatr
@ Синатр да, я понимаю свою ошибку там, этот человек сейчас не в компании, поэтому я больше не могу задавать вопросы. Кроме того, я знаю об использовании structs vs classes, но когда я должен использовать их в качестве параметров? – RandomStranger
Спросите себя, обладает ли этот потенциальный класс/структура, состоящий из этих двух параметров, более обычным, чем только в этом вызове? У вас есть идея для значимого имени для такого класса, кроме «MyLovelyClassUsedToCallDoSomething». Если не забыть. – Ralf