如何在C#中一次分配多个对象属性?

Fil*_*nor 3 c#

背景

我有一些DataGridView我转换为实体对象的行.在转换过程中,我重置了一些值.由于"基本"数据来自DataBoundItem当前DataGridViewRow,因此使用对象初始化不是我正在寻找的选项,我不想分配来自DataBoundItem再次(冗余)的第一个对象的每个值.

所以我的问题是:是否可以一次分配多个对象属性,如果,你是如何实现它的?

研究

我发现了以下问题,但没有一个能解决我的问题:

在c#中一次分配多个变量

一次分配多个变量

在Windows窗体(C#)中使用一个声明设置多个属性

foreach (DataGridViewRow CurrRow in DataGridView.Rows)
{
    SomeObject SomeObj = (SomeObject) CurrRow.DataBoundItem;
    SomeObj.PropertyA = 0;
    SomeObj.PropertyB = 0;
    SomeObjCollection.Add(SomeObj);
}
Run Code Online (Sandbox Code Playgroud)

我试过了什么

单独使用逗号分配属性(在昏迷时给出语法错误):

TimeEntries.Hours, TimeEntries.Expenses = 0;
Run Code Online (Sandbox Code Playgroud)

Mon*_*Zhu 5

您可以使用=运算符在链中分配它们:

TimeEntries.Hours = TimeEntries.Expenses = 0;
Run Code Online (Sandbox Code Playgroud)

好像你会向后看这个陈述.

在循环的情况下,它看起来像这样:

foreach (DataGridViewRow CurrRow in DataGridView.Rows)
{
    SomeObject SomeObj = (SomeObject) CurrRow.DataBoundItem;
    SomeObj.PropertyA = SomeObj.PropertyB = 0;
    SomeObjCollection.Add(SomeObj);
}
Run Code Online (Sandbox Code Playgroud)

重要的提示:

如果您正在处理引用类型,则只会为不同的属性分配1个引用.因此,更改其中一个将影响所有其他属性!