日期:2014-05-18  浏览次数:20825 次

怎样才能返回一个引用,而不是副本?
比如:

        private   RepRowStyle[]   styles;
        public   RepRowStyle[]   Styles
        {
                get
                {
                        return   styles;
                }
        }

我想要   get   返回的是   styles   的引用,以便直接设置每个RepRowStyle的值。

就是把实现相当于   public   RepRowStyle[]   styles;   当然可能多此一举了,只是举个例子,问一下怎么做。


------解决方案--------------------
返回的就是 styles 的引用...
------解决方案--------------------
本来返回的就是应用 不是副本
------解决方案--------------------
你这样写就行
如果需要赋值的话
写个set
------解决方案--------------------
去了解下值类型和引用类型
------解决方案--------------------
数组应该是引用类型
------解决方案--------------------
.......................
------解决方案--------------------
返回的就是引用
------解决方案--------------------
就是把实现相当于 public RepRowStyle[] styles; 当然可能多此一举了
=============================

当然不同。在C#里面,每一个类,在实现以后,实例都相当于一个指针。你这里只用到了get,也就是说,使用者可以拿到这个类指针,并且修改类指针所指向的数据。如果你直接public了变量(相当于set和get),那么,也就是允许这个类指针被另外一个类指针所替换。