小编Din*_*in2的帖子

检查列表<T>是否有要排除的可选单词的重复

我有一个方法如下.当列表包含重复项时,方法返回false/true.我想扩展我的方法,例如(可选)我想从检查中排除特定项目.例如,我想检查整个列表,因为它现在或我想说例如exclude:string.empty items或例如string.empty和"some word".可能吗?

public static bool IsListContainsDuplicates<T>(List<T> list)
{
    return list.GroupBy(n => n).Any(c => c.Count() > 1);
}
Run Code Online (Sandbox Code Playgroud)

c#

4
推荐指数
1
解决办法
121
查看次数

Thread.Sleep为什么不在示例中阻塞线程

Thread.Sleep()将主线程置于保持一定的毫秒数.我希望Thread.Sleep()阻止主线程,即使它是从不同的线程调用(Task.Run()事实上创建新的线程),为什么当PleaseWait()我的循环在主线程上仍然执行,因为Thread.Sleep被调用?它应该暂停给我.或者是因为事实上,Thread.Sleep()通过Task.Run调用不同的线程现在不完全Thread.Sleep适用于主线程,但它指的是创建的新线程Task.Run.意味着主线程不是睡眠,而是Task.Run侧面创建的线程?希望很清楚.

class Program
    {
        static void Main(string[] args)
        {
            Task.Run(() => PleaseWait());

            var n = 0;
            while (n < 10000)
            {
                Console.WriteLine(n);
                n++;
            }

            Console.ReadLine();
        }


        public static void PleaseWait()
        {
            Thread.Sleep(10000);
            Console.WriteLine("After sleep");
        }
    }
Run Code Online (Sandbox Code Playgroud)

c# multithreading

-1
推荐指数
1
解决办法
83
查看次数

标签 统计

c# ×2

multithreading ×1