相关疑难解决方法(0)

如何创建线程安全的通用列表?

我有一个通用列表如下

public static readonly List<Customer> Customers = new List<Customer>();
Run Code Online (Sandbox Code Playgroud)

我正在使用以下方法:

.Add
.Find
.FirstOrDefault
Run Code Online (Sandbox Code Playgroud)

最后2个是LINQ扩展.

我需要使这个线程安全的能够运行容器类的多个实例.

怎么实现呢?

c# generics multithreading list

23
推荐指数
3
解决办法
5万
查看次数

为什么要避免使用递增赋值运算符 (+=) 来创建集合

StackOverflow 站点的问答中+=经常使用递增赋值运算符 ( )[PowerShell]来构造集合对象,例如:

$Collection = @()
1..$Size | ForEach-Object {
    $Collection += [PSCustomObject]@{Index = $_; Name = "Name$_"}
}
Run Code Online (Sandbox Code Playgroud)

然而,它似乎是一种非常低效的操作。

一般情况下,+=在 PowerShell 中构建对象集合时应该避免使用递增赋值运算符 ( ) 是否可以?

collections powershell variable-assignment operator-keyword

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