几个月前有人问我这个问题,我无法详细解释.C#中的引用类型和值类型有什么区别?
我知道,价值类型int,bool,float,等和引用类型delegate,interface等等.或者,这是不对的,太?
你能以专业的方式向我解释一下吗?
我注意到,例如,行为与List<T>其他简单对象不同String.这个问题看起来似乎是新手,但这真的让我感到震惊,因为我认为这List<T>是简单的对象.
以下面的代码为例:
List<String> ls1 = new List<String>();
ls1.Add("a");
List<String> ls2 = ls1;
ls1.Add("b");
Run Code Online (Sandbox Code Playgroud)
最后,ls1将等于,将{"a", "b"}如此ls2.这与此代码的行为完全不同:
String s1 = "a";
String s2 = s1;
s1 = "b";
Run Code Online (Sandbox Code Playgroud)
s1到底哪里等于b和s2等于a.
那意味着它List<T>实际上是指针对吗?