Вопросы с тегом «clr»

Common Language Runtime (CLR) - это основной компонент инициативы Microsoft .NET. Это реализация Microsoft стандарта Common Language Infrastructure (CLI), который определяет среду выполнения для программного кода. В CLR код выражается в виде байт-кода, называемого общим промежуточным языком (CIL, ранее известный как MSIL - промежуточный язык Microsoft).

1505
Попробуй ускорить мой код?

Я написал некоторый код для тестирования воздействия try-catch, но увидел некоторые неожиданные результаты. static void Main(string[] args) { Thread.CurrentThread.Priority = ThreadPriority.Highest; Process.GetCurrentProcess().PriorityClass = ProcessPriorityClass.RealTime; long start = 0, stop = 0,...

427
Устранение MSB3247 - Обнаружены конфликты между различными версиями одной и той же зависимой сборки

Решение .NET 3.5 заканчивалось этим предупреждением при компиляции с msbuild. Иногда NDepend может помочь, но в этом случае он не дает никаких дополнительных подробностей. Как и Бобу, мне пришлось прибегнуть к открытию каждой сборки в ILDASM, пока я не нашел ту, которая ссылалась на более старую...

387
Приведение против использования ключевого слова as в CLR

При программировании интерфейсов, я обнаружил, что я часто использую приведение типов или преобразование типов объектов. Есть ли разница между этими двумя методами конвертации? Если да, то есть ли разница в стоимости или как это повлияет на мою программу? public interface IMyInterface { void...

371
В C # почему String является ссылочным типом, который ведет себя как тип значения?

String - это ссылочный тип, даже несмотря на то, что он имеет большинство характеристик типа значения, таких как неизменяемость и перегруженность == для сравнения текста вместо того, чтобы быть уверенным, что они ссылаются на один и тот же объект. Почему тогда строка не просто тип...

330
Сюрприз производительности с «как» и обнуляемыми типами

Я просто пересматриваю четвертую главу C # in Depth, которая посвящена обнуляемым типам, и добавляю раздел об использовании оператора «as», который позволяет писать: object o = ...; int? x = o as int?; if (x.HasValue) { ... // Use x.Value in here } Я подумал, что это действительно здорово, и что...

240
Как зарегистрировать несколько реализаций одного и того же интерфейса в Asp.Net Core?

У меня есть службы, которые получены из того же интерфейса. public interface IService { } public class ServiceA : IService { } public class ServiceB : IService { } public class ServiceC : IService { } Как правило, другие контейнеры IoC, такие как Unity позволяют вам регистрировать конкретные...

227
Полное руководство по изменениям API в .NET

Я хотел бы собрать как можно больше информации о версиях API в .NET / CLR и, в частности, о том, как изменения API нарушают или не нарушают клиентские приложения. Сначала давайте определим некоторые термины: Изменение API - изменение в общедоступном определении типа, включая любого из его открытых...

209
Каковы основные различия между C # и Java?

Locked . Этот вопрос и его ответы заблокированы, потому что вопрос не по теме, но имеет историческое значение. В настоящее время он не принимает новые ответы или взаимодействия. Я просто хочу уточнить одну вещь. Это не вопрос, по которому лучше, ту часть, которую я оставляю кому-то еще для...

165
Что вы можете сделать в MSIL, что вы не можете сделать в C # или VB.NET? [закрыто]

В настоящее время этот вопрос не очень подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, вызовет дебаты, споры, опрос или расширенное обсуждение. Если вы считаете, что этот вопрос можно улучшить и,...

150
В чем причина этой ошибки FatalExecutionEngineError в бета-версии .NET 4.5? [закрыто]

Этот вопрос вряд ли поможет будущим посетителям; это относится только к небольшому географическому региону, конкретному моменту времени или необычайно узкой ситуации, которая обычно не применима к всемирной аудитории Интернета. Чтобы сделать этот вопрос более применимым, посетите справочный центр...

135
Сделайте ваш шаг .NET правильно в отладчике

Во-первых, я прошу прощения за длину этого вопроса. Я автор IronScheme . В последнее время я усердно работал над выдачей приличной отладочной информации, чтобы я мог использовать «нативный» отладчик .NET. Хотя это было частично успешно, я сталкиваюсь с некоторыми проблемами при прорезывании зубов....

121
Почему выравнивание структуры зависит от того, является ли тип поля примитивным или определяемым пользователем?

В Noda Time v2 мы переходим к наносекундному разрешению. Это означает, что мы больше не можем использовать 8-байтовое целое число для представления всего интересующего нас диапазона времени. Это побудило меня исследовать использование памяти (многими) структурами Noda Time, что, в свою очередь,...

115
Сколько объектов String будет создано при использовании знака плюс?

Сколько объектов String будет создано при использовании знака плюса в приведенном ниже коде? String result = "1" + "2" + "3" + "4"; Если бы это было так, как показано ниже, я бы сказал три объекта String: «1», «2», «12». String result = "1" + "2"; Я также знаю, что объекты String кэшируются в пуле...

110
Можно ли сделать настольное приложение с графическим интерфейсом пользователя в ядре .NET?

Я занимаюсь разработкой программ WinForms несколько лет. Сейчас я изучаю .NET Core (включая ASP.NET Core MVC). Я ищу новую технологию рабочего стола с графическим интерфейсом пользователя. В обновлении 3 для Visual Studio 2015 я не вижу никакой возможности создать приложение с графическим...

106
Почему кучи больших объектов и почему нас это волнует?

Я читал о поколениях и куче больших объектов. Но я все еще не понимаю, в чем важность (или выгода) наличия кучи больших объектов? Что могло бы пойти не так (с точки зрения производительности или памяти), если бы CLR просто полагалась на поколение 2 (учитывая, что порог Gen0 и Gen1 мал для...

102
C # производительность оператора is

У меня есть программа, требующая быстрой работы. В одном из его внутренних циклов мне нужно проверить тип объекта, чтобы увидеть, наследуется ли он от определенного интерфейса. Один из способов сделать это - использовать встроенную в CLR функцию проверки типов. Самый элегантный метод, вероятно,...

102
Почему размер стека в C # составляет ровно 1 МБ?

Сегодняшние ПК имеют большой объем физической ОЗУ, но, тем не менее, размер стека C # составляет всего 1 МБ для 32-разрядных процессов и 4 МБ для 64-разрядных процессов ( емкость стека в C # ). Почему размер стека в CLR все еще так ограничен? И почему именно 1 МБ (4 МБ) (а не 2 МБ или 512 КБ)?...

92
Поплавок против двойной производительности

Я провел несколько тестов времени, а также прочитал несколько статей, подобных этой (последний комментарий), и похоже, что в сборке Release значения float и double занимают одинаковое время обработки. Как это возможно? Когда float менее точен и меньше по сравнению с двойными значениями, как CLR...

91
Реализация C # для JVM

Кто-нибудь пытается реализовать C # для JVM? Как Java-разработчик, я с завистью наблюдал за C #, но я не желаю отказываться от переносимости и зрелости JVM, не говоря уже о разнообразии инструментов для нее. Я знаю, что между JVM и CLR есть некоторые важные различия, но есть ли что-нибудь, что...