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

标签 c# c++

使用名称/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/

相关文章:

c++ - 使用 C++ 和 map/unordered_map : the default value for a non-existant key 创建直方图

c# - 集成到 VS2008 时的 antlr c# 错误

c# - 将 postgres box 转换为 .Net NpgsqlBox

c# - 如何在特定进程运行时将程序发送到后台

c++ - 在这种情况下如何防止代码崩溃

c++ - 矩阵列比较

c++ - 为什么抛出异常时析构函数调用两次?

c# - 动态生成 blazor mudblazor 表

c# - Mongo DB 连接的正确 C# 异常处理方式

c++ - CUDA 中的随机播放指令不起作用