代码字典查找的更好方法

本文关键字:更好 方法 查找 字典 代码 | 更新日期: 2023-09-27 18:32:21

可能是一个非常简单的问题,但是在编写一些我有映射字典的代码时,我发现处理null之类的使我的代码看起来很恶心。有没有更好的方法可以做到这一点?

int brokerId = 0; // set a default value in case nothing is found
if(myTrade.Counterparty!=null) // dont bother if counterparty is null
  if (resolutionMap.Result["Broker"].ContainsKey((myTrade.Counterparty)))
    if (resolutionMap.Result["Broker"][myTrade.Counterparty] != null)
      primeBrokerId = Convert.ToInt32(resolutionMap.Result["Broker"][myTrade.Counterparty]);

代码字典查找的更好方法

resolutionMap.Result["Broker"]的值存储到变量中,而不是多次查找它,例如 var broker = resolutionMap.Result["Broker"]; .

也使用TryGetValue()代替ContainsKey()

例如
CounterParty counterParty;
if (broker.TryGetValue(myTrade.Counterparty, out counterParty) && counterParty != null) { ....