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# - 在 NSScrollView 中检测滚动事件

c# - 计算特定字符串组合的行数

c# - 为什么这个 RETURNING INTO 子句会返回一个错误?

c# - 使用 ServiceStack Funq IoC : how dependencies are injected?

c# - 为什么在初始加载 DataGridViewComboBoxColumn 时显示空值

c# - long 类型的最大 HEX 值

c# - 无法提取元素(按元素名称和属性)

c# - 定义 iTween 路径时的恒速问题

c# - 使用 Entity Framework 5 将大量数据从旧数据库移动到新数据库

c# - 如何将 List<object> 转换为 Json 格式并在 C# 中填充 <tbody>?