gpt4 book ai didi

c# - 试试{}捕获优化?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:28:58 28 4
gpt4 key购买 nike

<分区>

我对异常的最佳实践有疑问。这个周末,我在做我的小游戏,我发现自己在想是使用 IF 还是 TRY 来验证 NULL 是最好的……下面是同一函数的两个变体:

这是我使用 IF 的代码

//Using IF
void ParseGamePad() {
GamePadData pad = GamePad.GetDate(0);
foreach(var btn in Enum.GetValues(GamePad.BUTTONS)) {
if(myArray.ContainsKey(btn))
if(myArray[btn]!=null)
myArray[btn](); //Execute function reference in array
}
return;
}

下面是带有 Try{}Catch

的代码
//Using TRY
void ParseGamePad() {
GamePadData pad = GamePad.GetDate(0);
foreach(var btn in Enum.GetValues(GamePad.BUTTONS)) {
try {
myArray[btn](); //Execute function reference in array
} catch(System.Exception e) {
// Nothing to do here
}
}
return;
}

我认为,当元素不存在于数组中时,IF block 比 TRY block 更快,而 TRY 当元素存在时更快,但当捕获异常时更慢。

你们会怎么做?

PS:这个项目是在嵌入式系统上,所以 CPU 和 RAM 是一个因素。

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