Разница между контейнерами MEF и IoC (такими как Unity, Autofac, SMap, Ninject, Windsor.Spring.net и т. Д.)

Я не знаю C # или какой-либо из .NET, но общая концепция словаря заключается в том, что это набор пар ключ-значение. Вы не получаете доступ к последовательному словарю так же, как если бы, например, итерации списка или массива. Вы получаете доступ с помощью ключа, а затем находите, есть ли значение для этого ключа в словаре и что это такое. В вашем примере вы разместили словарь с числовыми ключами, которые являются последовательными, без пробелов и в порядке возрастания вставки. Но независимо от того, в каком порядке вы вставляете значение для ключа «2», вы всегда будете получать одинаковое значение при запросе на ключ «2». Я не знаю, разрешает ли C #, я думаю, да, иметь ключевые типы, отличные от чисел, но в этом случае это то же самое, на ключах нет явного порядка. Аналогия с реальным словарем может быть запутанной, поскольку ключи, которые являются словами, упорядочены по алфавиту, поэтому мы можем найти их быстрее, но если бы они не были, словарь работал бы так или иначе, потому что определение слова «Aardvark «имел бы то же значение, даже если бы это произошло после« Зебры ». Подумайте о романе, с другой стороны, изменение порядка страниц не будет иметь никакого смысла, поскольку они являются упорядоченной коллекцией по существу.

43
задан Peter Mortensen 12 March 2017 в 12:23
поделиться