问题标签 [generic-list]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 如何在通用 IEnumerable (IEnumerable) 在 C# 中使用 LINQ?
在我的通用存储库中,我有以下方法:
T 是一个 Linq to Sql 类,我希望能够对特定属性(即 int SortOrder)进行 OrderBy。假设 T 具有属性名称“SortOrder”,然后对该属性执行 OrderBy。但我不确定如何实现这一目标。所以我需要一些帮助。谢谢!我觉得动态语言在做这类工作时真的很出色!
虽然编写类型安全的查询对于大多数场景来说都很棒,但在某些情况下,您希望灵活地动态构建查询
这正是我面临的问题,我想知道这个 linq 动态帮助器是否可以成为官方的 .NET 库。
c# - C#列表的线程安全给读者
我计划在静态构造函数中创建一次列表,然后让该类的多个实例同时读取它(并通过它枚举)而不做任何锁定。
在这篇文章 http://msdn.microsoft.com/en-us/library/6sh2ey19.aspx 中,MS 描述了线程安全问题如下:
此类型的公共静态(在 Visual Basic 中为 Shared)成员是线程安全的。不保证任何实例成员都是线程安全的。
只要集合没有被修改,一个 List 可以同时支持多个读取器。通过集合进行枚举本质上不是线程安全的过程。在枚举与一个或多个写访问竞争的极少数情况下,确保线程安全的唯一方法是在整个枚举期间锁定集合。要允许集合被多个线程访问以进行读写,您必须实现自己的同步。
“通过集合枚举本质上不是线程安全的过程。” 声明是我担心的。
这是否意味着它对读者来说是线程安全的,但只要你不使用枚举?
或者对我的场景安全吗?
感谢您的回答。如果它可以使用或不使用它,为什么我需要使用 AsReadOnly?