Mogę podać odpowiedź, która działa w obie strony.
Z jednej strony nie ma to jak dobra znajomość języka asemblerowego, aby nauczyć cię, jak naprawdę działa komputer. MSIL jest do pewnego stopnia językiem przypominającym montaż. Z drugiej strony istnieje bardzo niewiele okazji do tego rodzaju rozwoju.
Z drugiej strony, uciekanie się do patrzenia na MSIL w celu rozwiązania problemu niekoniecznie jest najbardziej bezpośrednim lub edukacyjnym sposobem zrozumienia problemu. W ciągu pięciu lat programowania .NET nigdy nie czułem potrzeby, aby tam pojechać. Tylko jeden raz współpracownik (który pracował w Microsoft przy testowaniu kompilatorów) przeszedł tam z problemem, który próbowałem rozwiązać, i na koniec jego odpowiedź była myląca, ponieważ prawdziwy problem był oparty na projekcie CLR i ograniczeniach . Lepsza znajomość CLR i C# doprowadziłaby do lepszego zrozumienia i prawdziwego rozwiązania.
(W przypadku, gdy zastanawiasz się, problem polegał na tym, że chciałem użyć "jako" do bezpiecznego rzucania za pomocą generycznych. "Jako" nie działało, ale "jest", mój współpracownik zauważył, że "jest" i "jak" używa tego samego MSIL. Prawdziwy problem polega na tym, że "jak" działa tylko w klasach rzutowania, a bez odpowiedniego ograniczenia deklaracji ogólnej, C# nie wie, czy twój rodzajowy typ będzie klasą. W rzeczywistości, typy, których używałem z generycznymi, były typami wartości, "as" nie mogło w ogóle działać dla nich.)
Zamiast chodzić na zajęcia z MSIL, bardzo polecam książkę Jeffrey Richter CLR via C#. Nawet po latach kopania ciężko przy C#, ta książka jest wciąż pełna rewelacji - uczę się czegoś z każdej strony.
Haha, „Gdzie mogę dowiedzieć się więcej o tych rzeczach i zaimponować wszyscy wokół mnie.” To są dwa * zupełnie * różne pytania, przyjacielu;) Chyba że spędzasz czas wyłącznie z nerdami (jak ja), chyba ... –