以最佳方式准备C#对象的分离方法是什么?

3
什么是更好的对象准备逻辑方法:
a) 使用返回值
List<Users> users = LoadUsers();
users = PrepareUsers(users);
b) 或者是 void 类型
List<Users> users = LoadUsers();
PrepareUsers(users)

使用void类型。必须有一个理由来返回一个值。 - AgentFire
如果您要求我们关闭您的问题,请使用像“更好”这样的词语。在什么方面更好?但即使您指定了,人们也会有不同的意见。在stackoverflow上,“主要基于观点”的问题不是主题。 - Tim Schmelter
我选择B,使用void类型。 - Dejan Dakić
看起来这个问题不适合在SO上讨论。如果你的问题不是关于代码问题而是关于“编写这段代码的最佳方式”,请使用http://codereview.stackexchange.com。 - Fedor
@Fedor:一个“更好”的提问地点是http://programmers.stackexchange.com/。 - Tim Schmelter
@TimSchmelter同意,在这种情况下它更合适。 - Fedor
2个回答

4

您是在现有的User对象上设置属性还是创建新对象?

如果您只是更改现有对象,那么没有理由想要返回它们,这是多余的。更糟糕的是,这是误导性的——客户端会认为他的对象没有受到影响,并且您正在创建新的对象,而事实上并非如此。

如果您正在创建新对象,那么显然需要将它们返回。


1
而将函数改变对象的做法则意味着将这些函数变成成员函数… - SBI

0

备选方案b. 因为您正在使用相同的用户对象,所以没有理由重新分配变量。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接