【发布时间】:2015-01-27 12:00:00
【问题描述】:
我有 2 段代码。什么是最佳实践,为什么? 在第一个版本中,我添加了一个新商店并评估它是否通过异常成功,而在第二个版本中,我对“if”语句执行相同的操作。
我最近读到代码中的异常可能很昂贵,如果所有“添加”方法都以这种方式实现,则可能会导致性能问题。 有人可以确认吗?
谢谢!!!
public bool AddShop1(Shop newShop)
{
try
{
ShopDictionary.Add(newShop.ShopId, newShop);
return true;
}
catch (ArgumentNullException)
{
return false;
}
catch (ArgumentException)
{
return false;
}
}
public bool AddShop2(Shop newShop)
{
if (newShop == null || ShopDictionary.ContainsKey(newShop.ShopId))
{
return false;
}
ShopDictionary.Add(newShop.ShopId, newShop);
return true;
}
【问题讨论】:
-
您可以轻松地自己测试。是的,永远不要使用异常来驱动你的代码。
标签: c# performance exception if-statement null