Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 搜索和foreach循环之间的效率_C#_Wpf_Performance - Fatal编程技术网

C# 搜索和foreach循环之间的效率

C# 搜索和foreach循环之间的效率,c#,wpf,performance,C#,Wpf,Performance,我正在使用C中的WPF。我正在使用GetNextControl方法将所有子控件存储在Control.ControlCollection中。我想循环浏览结果并只填写文本框。我想到了两种方法,但哪一种更有效: 搜索一次并将结果存储在Control.ControlCollection中。 使用foreach循环遍历集合,并使用多个if/else语句查找我要查找的文本框,并在框中填充一些文本。 或者 搜索并存储Control.ControlCollection中的所有控件。 使用集合的find方法查找具

我正在使用C中的WPF。我正在使用GetNextControl方法将所有子控件存储在Control.ControlCollection中。我想循环浏览结果并只填写文本框。我想到了两种方法,但哪一种更有效:

搜索一次并将结果存储在Control.ControlCollection中。 使用foreach循环遍历集合,并使用多个if/else语句查找我要查找的文本框,并在框中填充一些文本。 或者

搜索并存储Control.ControlCollection中的所有控件。 使用集合的find方法查找具有特定名称的TextBox,并在TextBox中填写一些文本。
我认为第一种方法会比较慢,因为要进行更多的比较。而第二种方法只使用搜索。

实现最简单的方法。在您拥有支持需求的指标之前,不要担心优化

如果速度不够快/效率不够,那么进行一些良好的时间测量。现在是考虑替代实现的时候了。
实施并计时每个备选方案,选择最快/最有效的一个。

两件事-您在这里没有问任何问题,是什么阻止了您尝试这两种方法并进行测量?您认为如何实现仅搜索?但你可能不必担心——很可能任何解决方案都会足够好,因为问题规模很小。第3部分——类型?UI控件有树结构,因此搜索算法足够快,如果现有算法不够快,你可以实现自己的算法。但结果可能会因您的UI体系结构而异。我们唯一能提出的建议是:剖析。忘掉这些吧。在用WPF编写一行代码之前,先学习MVVM。你做了很多不必要的事情。是的,我有时会想得远远超过我自己。谢谢你的提醒。