关于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;}}
这两个有啥区别
[解决办法]
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类,可以提高代码的重用率