c# - 如何将元素添加到 List<T> 并取回索引?

标签 c#

是否有一个函数可以让您将元素添加到 List<T>并获得索引为 int背部? List<T>.Add()void并且不返回值。
List.Count-1当您不使用线程时,这是一个解决方案。我的列表是一个静态成员,一次可以使用多个线程访问,使用 count-1 值完全是线程不安全的,很容易导致错误的结果。

该索引将用于对每个元素进行特定处理。

谢谢!

最佳答案

List 的方法不是单独的线程安全的;如果您只是调用List.Add从几个线程中反复出现,您很可能会遇到问题。如果要使用 List,则需要使用某种同步技术首先,您不妨调用 List.Count在那个关键部分里面。

您的另一个选择是使用设计为供多个线程使用的集合,例如 System.Collections.Concurrent 中的那些。 .

关于c# - 如何将元素添加到 List<T> 并取回索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12937030/

相关文章:

c# - AutoMapper复杂类型对象映射C#

c# - 模拟没有接口(interface)甚至没有虚拟方法的类

c# - 为我自己的类库创建选项类

c# - 用 C# 排列桌面图标

c# - 如何使用linq连接两个没有相同字段的列表?

c# - 使用RegEx从字符串中提取多个值

c# - 如何在 A 列或 B 列的 Linq 查询中加入

c# - 允许用户更改标签的默认文本,以便在下次运行程序时查看新文本。 (C#)

c# - 确定 System.Net.Mail.SmtpClient.Send 结果

c# - 2 外键作为主键使用 EF Core 2.0 Code First