Чем больше я вижу ref, используемого в производственном коде, тем больше злоупотреблений я встречаю и чем больше боли вызывает у меня. Я ненавижу это ключевое слово, потому что с точки зрения каркасного построения это кажется глупым. Когда было бы неплохо сообщить пользователям вашего кода понятие , возможно, изменить ссылку на объект/значение из-под них?Когда используется ключевое слово C# ref всегда хорошая идея?
В отличие от этого, я люблю ключевые слова, и я люблю еще больше, когда ни один из ключевых слов не используется вообще, в обоих случаях из-за гарантий, которые вы даете при их использовании. Ref с другой стороны не дает никаких гарантий, за исключением того, что вы будете вынуждены инициализировать параметр, прежде чем передавать его, хотя ничто не может быть изменено.
Я, однако, не мудрый разработчик; Я уверен, что это практически применимо. Я просто хотел бы узнать, кто они.
Я предполагаю, что Cwalina и Abrams не консультировались, когда были разработаны методы TryParse. :) –
, так что IDictionary .TryGetValue метод. Это не так убедительно, если .NET framework не следует их предложению. –
@D Hoerster - на самом деле книга обсуждает шаблон TryParse в положительном свете. Это рекомендация «избегать», то есть есть известные случаи, когда нарушение правила имеет смысл. – TrueWill