我有一个方法如下.当列表包含重复项时,方法返回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) 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)