当前位置:  开发笔记 > 编程语言 > 正文

是否可以在单个List <T> ForEach中使用Thread.Sleep()?

如何解决《是否可以在单个List<T>ForEach中使用Thread.Sleep()?》经验,为你挑选了1个好方法。

是否可以在单个语句中重写以下代码?

foreach(var myVar in varEnumerable)
{
    MyMethod(myVar);
    Thread.Sleep(2000);
}

如果没有Thread.Sleep(),我会把它写成:

varEnumerable.ToList().ForEach(x => MyMethod(x));

adv12.. 11

是的,你只需要一些花括号(和空白以获得良好的衡量标准):

varEnumerable.ToList().ForEach(x => {
    MyMethod(x);
    Thread.Sleep(2000);
});

编辑:在问题的评论中已经注意到,这比普通的foreach(由于ToList()调用)效率低,当你添加大括号和空格时,它看起来不那么干净,所以它不是真的大赢.所以这就是你如何做你所要求的,但它可能不是你应该做的:)



1> adv12..:

是的,你只需要一些花括号(和空白以获得良好的衡量标准):

varEnumerable.ToList().ForEach(x => {
    MyMethod(x);
    Thread.Sleep(2000);
});

编辑:在问题的评论中已经注意到,这比普通的foreach(由于ToList()调用)效率低,当你添加大括号和空格时,它看起来不那么干净,所以它不是真的大赢.所以这就是你如何做你所要求的,但它可能不是你应该做的:)

推荐阅读
和谐啄木鸟
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有