日期:2014-05-17  浏览次数:20766 次

请教一个关于C#构造函数的问题
private readonly EavalutionEntities entities;

/// <summary>
/// 构造函数
/// </summary>
public EvaResultRepository()
{
    entities = new EavalutionEntities();
}
在看别人写的代码时发现许多这样的情形,这样写的好处是什么?为什么要把私有变量在构造函数中new一下?为什么不直接在外部new?
c# 构造函数 readonly private

------解决方案--------------------
引用:
引用:
不new一下,那不就是null值了吗,怎么用啊,因为是readonly的,不可能在外部new,所以只能在构造函数中new
不可以在声明私有只读变量的时候直接new一下?只能去构造函数里new?像这种http://bbs.csdn.net/topics/390258615  赋值是可以的么?

在声明变量的时候new一下,称为内联方式(inline)。但在IL代码中,他会将这种语法转换为构造器方法中的代码来执行初始化----《CLR via C# 第3版》