c# – params关键字是否保证项目与列出的顺序相同?

c# – params关键字是否保证项目与列出的顺序相同?,第1张

概述我正在开发一个简单的API,它将接受许多IBehaviours,然后在配置中应用它们.我使用params关键字设计它,因为通常只需要一个行为,但有时更多. 但是,以正确的顺序应用行为非常重要. public void Configure(string wow, params IBehaviour[] behaviours) { ... }Configure("oh yes", new Must 我正在开发一个简单的API,它将接受许多IBehavIoUrs,然后在配置中应用它们.我使用params关键字设计它,因为通常只需要一个行为,但有时更多.

但是,以正确的顺序应用行为非常重要.

public voID Configure(string wow,params IBehavIoUr[] behavIoUrs) { ... }Configure("oh yes",new MustHappenFirst(),new MustHappenSecondly());

做这个

>技术上暗示行为
当发生时以相同的顺序发生
枚举? (在标准方面,
不仅仅是实际上明智的).
>在语义上和直觉上传达相同的行为?

谢谢.

解决方法 参数的评估将按从左到右的顺序进行,并且它们将按顺序放入数组中.

请注意,如果“null”是行为的有效值,则可能会遇到麻烦:

Configure("hello",null);

电话

Configure("hello",(IBehavIoUr[]) null);

Configure("hello",new IBehavIoUr[1] { null } );

所以要小心.

总结

以上是内存溢出为你收集整理的c# – params关键字是否保证项目与列出的顺序相同?全部内容,希望文章能够帮你解决c# – params关键字是否保证项目与列出的顺序相同?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1223237.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存