После этого показано, что приложение консоли C# остановлено в точке останова. Переменная sln
имеет тип Solution2. Из исследований, я определил, что Projects
элемент в растворе использует 1 на основе индексации, так что, как я получить единственный проект в решении Visual Studio (линия, где расположена точка останова):Как определить тип индексации, используемый от отладчика
project = sln.Projects.Item(1);
То, что я пытался сделать через отладчик, было попыткой выяснить, могу ли я определить, была ли коллекция 0-основанной или 1-й, , если бы я не имел эту информацию заранее. Но отладчик только показывает, что у коллекции Projects
есть номер Count
1. Есть ли способ (не экспериментируя), чтобы получить эти знания, просмотрев коллекцию через отладчик?
Кроме того, вопросы, связанные:
Что такое Dynamic View
элемент?
Расширение `[System .__ ComObject] приводит к кажущемуся рекурсивному дисплею, как показано ниже:
Почему это? Какой цели это служит?
спасибо. С этого момента начнем обращать внимание на тип аргументов Item. Доступ ли Linq медленнее, чем использование «Элемента»? (Не то, чтобы в этом случае это имело бы большое значение.) Спасибо. – Sabuncu
@Sabuncu, вы правы, Linq сделает это медленнее, чем прямой метод 'Item'. Linq сначала получит объект перечисления, а затем начнет перечислять объект, используя его метод «Следующий», тогда ему придется уничтожить объект перечислителя. Для сравнения метод 'Item' просто возвращает указатель на существующий объект в коллекции, поэтому он должен быть намного быстрее. –
Спасибо, что ответили подробно. – Sabuncu