Имеют ли интерфейсные переменные семантику типа значения или ссылочного типа?

Имеют ли интерфейсные переменные семантику типа значения или ссылочного типа?

Интерфейсы реализуются по типам, и эти типы являются либо типами значений, либо ссылочными типами. Очевидно, что и int , и string реализуют IComparable , а int является типом значения, а string является типом значения. ссылочный тип. Но как насчет этого:

IComparable x = 42;
IComparable y = "Hello, World!";

(Вопрос, на который я пытался ответить, предположительно был удален, потому что он спрашивал, хранятся ли интерфейсы в стеке или куче, и, как мы все должны знать, более конструктивно подумать о различиях между значения и ссылочные типы с точки зрения их семантики, а не их реализации. Для обсуждения см. статью Эрика Липперта Стек представляет собой деталь реализации .)

10
задан Peter O. 16 December 2011 в 22:53
поделиться