gpt4 book ai didi

c# - 设计——按名称或对象删除?

转载 作者:行者123 更新时间:2023-11-28 06:32:28 24 4
gpt4 key购买 nike

使用名称/ID 删除对象或传递实际对象是否更有意义?例如:

void MyList::remove(MyObject &myObject) { /* blah */ }
// or
void MyList::remove(std::string id) { /* blah */ }

我都用过,但我真的看不出优缺点。有首选标准吗?

编辑:这可能是提供我正在尝试做的事情的更好示例:

假设我有一个包含交易集合的账户类。我是传递交易对象还是传递交易 ID 更好?

class Account
{
private List<Transaction> transaction = new List<Transaction>();

public void Remove(Transaction transaction) { }
// OR
public void Remove(string name) { }
// OR
public void Remove(Guid id) { }
}

注意:这个问题有 C++ 和 C# 代码...

最佳答案

您可能并不总是拥有项目引用。所以最好按名称或 ID 删除方法。您可以根据您的业务需求决定哪个更可取(名称或 ID)。 name 或 id 必须是唯一的,否则它会删除错误的项目。所以业务需求必须决定它。

关于c# - 设计——按名称或对象删除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27308243/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com