c# - 为什么这段代码执行 if(sz !=sz2) sz = sz2?

标签 c# linq-to-sql

我第一次创建了一个 linq to sql 类。我决定查看类(class)并找到了这个。

什么...它为什么这样做 if(sz !=sz2) { sz = sz2; }.我不明白。为什么集合不是生成为 this._Property1 = value

    private string _Property1;
    [Column(Storage="_Property1", CanBeNull=false)]
    public string Property1
    {
        get
        {
            return this._Property1;
        }
        set
        {
            if ((this._Property1 != value))
            {
                this._Property1 = value;
            }
        }
    }

最佳答案

它只会在属性发生变化时更新它。这可能是基于这样的假设,即比较比更新可能涉及的引用(以及所有必需的内存管理)更便宜。

关于c# - 为什么这段代码执行 if(sz !=sz2) sz = sz2?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1935164/

相关文章:

c# - 将sql转换为linq

c# - 投影条件评估不正确

sql - Linq to SQL 中的动态表名

c# - ListView 对象引用未设置为对象的实例

c# - Windows 商店应用程序中的密码散列

c# - 调用SQL Server存储过程的问题

c# - 林克 : query with three nested levels

sql - 如何使用 LINQ2SQL 通过存储库在 DB 上运行集成测试?

c# - 尝试将训练图像上传到自定义视觉项目时出现未经授权的错误

c# - Excel 功能区选项卡选择更改事件