C#4.0面向对象的时间约束

本文关键字:时间约束 面向对象的 C#4 | 更新日期: 2023-09-27 17:58:05

我在for循环中有许多if语句,我正在寻找除switch语句之外的其他语句。就时间限制而言,哪一个最好?

我的代码:

anotherlist
foreach(x objx in xlist)
{
if(objx.att1=anotherlist.someatt)
        do something
if(objx.att2=anotherlist.someatt)
        do something
if(objx.att3=anotherlist.someatt)
        do something
...

这种情况持续了大约15到20个if语句。

有人能推荐一个替代方案吗?

C#4.0面向对象的时间约束

我有一个替代方案,尽管在时间上不会更好,但它可能更干净。

你可以有一个字典,字典的键是所有anotherlist.someatt的可能性,值是"做某事"函数的detegate。

然后你可以简单地做DictionaryName[objx.att1].invoke(params)而不是所有这些if(condition...)