Вопросы по теме 'boxing'

Что такое бокс и распаковка и каковы компромиссы?
Ищу ясный, лаконичный и точный ответ. В идеале как фактический ответ, хотя ссылки на хорошие объяснения приветствуются.
55554 просмотров

Приводит ли вызов метода к типу значения к упаковке в .NET?
Я только что участвовал в ответе на вопрос о переполнении стека Все ли в .NET является объектом? . И один плакат (в комментариях к принятому ответу), похоже, думал, что выполнение вызова метода для типа значения привело к боксу. Он указал мне...
2743 просмотров
schedule 05.04.2024

Бокс, что ты предпочитаешь и что быстрее?
Короче, я считаю, что бокс - это раздражение. Давайте посмотрим на альтернативы ... public class Box<T> where T : struct { public T Value { get; set; } public static implicit operator T(Box<T> box) { return...
1754 просмотров
schedule 10.03.2022

В чем разница между боксом/распаковкой и приведением типов?
В чем разница между боксом/распаковкой и приведением типов? Часто эти термины кажутся взаимозаменяемыми.
47286 просмотров
schedule 14.07.2023

Приведение типа к объекту с использованием объекта типа в C#
До сих пор это оказалось немного сложным для меня. Мне интересно, можно ли ввести объект с помощью объекта System.Type. Я проиллюстрировал ниже, что я имею в виду: public interface IDataAdapter { object Transform(object input); Type...
18380 просмотров
schedule 20.07.2023

Вызывает ли оператор VB.NET If бокс?
Те из нас, кто работал в VB/VB.NET, видели код, похожий на эту мерзость: Dim name As String = IIf(obj Is Nothing, "", obj.Name) Я говорю «мерзость» по трем простым причинам: IIf — это функция , все параметры которой оцениваются;...
691 просмотров
schedule 16.02.2022

распаковка бокса, cglib, spring и тайна NoSuchMethodError
Я использую Spring и GWt в своем проекте. В нескольких случаях CGLIB выдает NoSuchMethodError , когда я вызываю метод прокси-сервера spring bean. Если я посмотрю на ошибку, она покажет мне, что она пытается найти метод с объектом Integer вместо...
601 просмотров
schedule 17.03.2024

Упаковка/распаковка - только типы значений? Ref.types - литье?
Из MSDN я прочитал, что упаковка/распаковка предназначена для обработки типов value как объектов. Но когда я читаю про ArrayList, там написано, что он еще и боксирует. Поэтому я совершенно запутался, поскольку ArrayList содержит значения и...
1935 просмотров
schedule 19.11.2023

Как универсальное ограничение предотвращает упаковку типа значения с неявно реализованным интерфейсом?
Мой вопрос несколько связан с этим: Явно реализованный интерфейс и общее ограничение . Мой вопрос, однако, заключается в том, как компилятор включает универсальное ограничение, чтобы устранить необходимость упаковки типа значения, который явно...
3309 просмотров
schedule 15.05.2023

Почему CLR позволяет изменять неизменяемые типы значений в штучной упаковке?
У меня есть ситуация, когда у меня есть простой неизменяемый тип значения: public struct ImmutableStruct { private readonly string _name; public ImmutableStruct( string name ) { _name = name; } public string Name...
581 просмотров
schedule 25.09.2022

С# - Можно ли объединять ящики?
Бокс преобразует тип значения в тип объекта. Или, как говорит MSDN, бокс — это «операция по заключению структуры в объект ссылочного типа в управляемой куче». Но если вы попытаетесь углубиться в это, взглянув на код IL, вы увидите только волшебное...
956 просмотров
schedule 05.09.2023

Какие улучшения производительности были внесены в операции упаковки и распаковки в среде CLR, если таковые имеются?
Несколько месяцев назад я присутствовал на семинаре, и спикер сделал заявление о том, что общая стоимость операции упаковки или распаковки была снижена по сравнению с .NET 1.1. Я просмотрел свои (плохие) заметки и не могу определить, ссылается ли это...
1125 просмотров
schedule 14.01.2023

Упаковка типа объекта с переменной ссылочного типа
Бокс — это когда тип значения присваивается типу объекта. Это то же самое, когда ссылочный тип назначается объекту? Что происходит, когда присваивается тип (который не является объектом)? Это тоже бокс? int num=5; object obj = num;...
5356 просмотров
schedule 04.09.2023

Бокс и распаковка тоже кастинг?
Когда мы преобразуем типы данных между примитивными типами данных, это называется приведением типов данных. Но при преобразовании между ValueType и ReferenceType мы называем это упаковкой и распаковкой. Можно ли бокс и распаковку тоже назвать...
767 просмотров
schedule 08.02.2024

Подробно о том, что происходит, когда структура реализует интерфейс
Недавно я столкнулся с этим вопросом Stackoverflow: Когда использовать структуру? В нем был ответ, в котором говорилось что-то довольно глубокое: Кроме того, имейте в виду, что когда структура реализует интерфейс - как это делает...
8017 просмотров
schedule 02.07.2023

Scala странная неявная ошибка преобразования бокса
Может кто-нибудь сказать мне, почему следующее не работает? object TestObject { def map(f: (Double, Double) => Double, x2: Array[Double]) = { val y = x2.zip( x2 ) val z = y.map(f) z } } Выдает эту ошибку:...
1239 просмотров
schedule 23.07.2023

Разница в поведении бокса в System.Dynamic.ExpandoObject
Недавно я начал программировать на C# и писать приложения ASP.NET MVC. Я делал что-то похожее на это: var hashtable = new Hashtable(); hashtable.Add("First", 12); hashtable.Add("Second", 12); if(hashtable["First"] == hashtable["Second"]) {...
220 просмотров
schedule 24.07.2022

При чем здесь коробка?
Просматривая StackOverflow, я наткнулся на следующий ответ: https://stackoverflow.com/a/3817367/162694 // ... removed unneeded code /// This type is intended for private use within Singleton only. type private SyncRoot = class end type...
417 просмотров
schedule 17.08.2023

Приводят ли интерфейсы со свойствами структуры к боксу?
Скажем, у меня есть некоторая структура и некоторый интерфейс, который, среди прочего, предоставляет эту структуру как свойство: public struct MyStruct{ public readonly string Hello; public MyStruct(string world){ Hello = world;...
116 просмотров
schedule 18.02.2024

Как избежать упаковки общего аргумента
Есть ли способ избежать упаковки общего аргумента метода (без интерфейса)? В фиктивном методе расширения я попробовал ограничение where T : class , чтобы принудительно интерпретировать T как минимум object , но бокс все еще происходит....
301 просмотров
schedule 01.05.2022