读书人

关于new 一个种的区别

发布时间: 2012-09-01 09:33:03 作者: rapoo

关于new 一个类的区别
1.

public void main_a(){ class_a a =new class_a(); a.b="1";a.c="2"; }



2


private class_a a{ get{class_a a = new class_a(); a,b="1";a.c="2"; return a;}}



这两个有啥区别

[解决办法]

C# code
using System;using System.Threading;using System.Collections;using System.Collections.Generic;namespace ConsoleApplication1{    class Program    {        static void Main(string[] args)        {            ClassA clsA = new ClassA();            clsA.main_b();            Console.ReadKey();        }    }    public class ClassA    {                public static ClassTest a        {            get            {                ClassTest a = new ClassTest();                a.b = "1";                a.c = "2";                return a;            }        }        public void main_b()        {            ClassTest a1 = a;            Console.WriteLine(String.Format("b={0},c={1}", a1.b, a1.c));        }    }    public class ClassTest    {        private String _b;        private String _c;        public String b        {            get { return _b; }            set { _b = value; }        }        public String c        {            get { return _c; }            set { _c = value; }        }        public ClassTest()        {            _b = String.Empty;            _c = String.Empty;        }    }}
[解决办法]
执行方面,第一种比第二种少一层调用堆栈,理论上性能会略微好那么一点点,但是第二种写法可以使类中其他方法也能使用相同的方式构造class_a类,可以提高代码的重用率

读书人网 >C#

热点推荐