草庐IT

IEnumerable

全部标签

c# - 用于公开列表成员的 IEnumerable vs IReadonlyCollection vs ReadonlyCollection

我花了好几个小时思考公开列表成员的主题。在与我类似的问题中,JonSkeet给出了很好的答案。请随时查看。ReadOnlyCollectionorIEnumerableforexposingmembercollections?我通常对公开列表非常偏执,尤其是当您正在开发API时。我一直使用IEnumerable来公开列表,因为它非常安全,而且它提供了很大的灵active。让我在这里举个例子:publicclassActivity{privatereadonlyIListworkItems=newList();publicstringName{get;set;}publicIEnumer

c# - 是否有将单个项目添加到 IEnumerable<T> 的 Linq 方法?

我正在尝试做这样的事情:image.Layers返回IEnumerable对于除Parent之外的所有层层,但在某些情况下,我只想做:image.Layers.With(image.ParentLayer);因为与image.Layers满足的100多个常用用法相比,它只在少数地方使用.这就是为什么我不想创建另一个也返回Parent的属性层。 最佳答案 一种方法是从项目(例如数组)中创建一个单例序列,然后将其Concat到原始序列上:image.Layers.Concat(new[]{image.ParentLayer})如果您经常

c# - 是否有将单个项目添加到 IEnumerable<T> 的 Linq 方法?

我正在尝试做这样的事情:image.Layers返回IEnumerable对于除Parent之外的所有层层,但在某些情况下,我只想做:image.Layers.With(image.ParentLayer);因为与image.Layers满足的100多个常用用法相比,它只在少数地方使用.这就是为什么我不想创建另一个也返回Parent的属性层。 最佳答案 一种方法是从项目(例如数组)中创建一个单例序列,然后将其Concat到原始序列上:image.Layers.Concat(new[]{image.ParentLayer})如果您经常

c# - 更新 IEnumerable 中的项目属性但该属性未保持设置?

我有两个表:Transactions和TransactionAgents。TransactionAgents有一个名为TransactionID的Transactions外键。相当标准。我也有这个代码:BrokerManagerDataContextdb=newBrokerManagerDataContext();vartransactions=fromtindb.Transactionswheret.SellingPrice!=0selectt;vartaAgents=fromtaindb.TransactionAgentsselectta;foreach(vartransactio

c# - 更新 IEnumerable 中的项目属性但该属性未保持设置?

我有两个表:Transactions和TransactionAgents。TransactionAgents有一个名为TransactionID的Transactions外键。相当标准。我也有这个代码:BrokerManagerDataContextdb=newBrokerManagerDataContext();vartransactions=fromtindb.Transactionswheret.SellingPrice!=0selectt;vartaAgents=fromtaindb.TransactionAgentsselectta;foreach(vartransactio

c# - Scala 中 IEnumerable LINQ 等价物的图表?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:LINQanaloguesinScala我正在寻找显示IEnumerable的LINQ方法在Scala中的等价物的图表:首先是头选择mapSingleOrDefault是……(我不知道)...等等有人知道这种“翻译”表吗?

c# - Scala 中 IEnumerable LINQ 等价物的图表?

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:LINQanaloguesinScala我正在寻找显示IEnumerable的LINQ方法在Scala中的等价物的图表:首先是头选择mapSingleOrDefault是……(我不知道)...等等有人知道这种“翻译”表吗?

c# - 如何编写异步 LINQ 查询?

看了一堆LINQ相关的东西,突然发现没有文章介绍如何写异步LINQ查询。假设我们使用LINQtoSQL,下面的语句很清楚。但是,如果SQL数据库响应缓慢,则使用该代码块的线程将受到阻碍。varresult=fromiteminProductswhereitem.Price>3selectitem.Name;foreach(varnameinresult){Console.WriteLine(name);}似乎当前的LINQ查询规范不对此提供支持。LINQ有什么办法可以做异步编程吗?就像有回调一样工作结果准备好使用时发出通知,不会对I/O造成任何阻塞延迟。 最

c# - 如何编写异步 LINQ 查询?

看了一堆LINQ相关的东西,突然发现没有文章介绍如何写异步LINQ查询。假设我们使用LINQtoSQL,下面的语句很清楚。但是,如果SQL数据库响应缓慢,则使用该代码块的线程将受到阻碍。varresult=fromiteminProductswhereitem.Price>3selectitem.Name;foreach(varnameinresult){Console.WriteLine(name);}似乎当前的LINQ查询规范不对此提供支持。LINQ有什么办法可以做异步编程吗?就像有回调一样工作结果准备好使用时发出通知,不会对I/O造成任何阻塞延迟。 最

c# - 将收到的对象转换为 List<object> 或 IEnumerable<object>

我正在尝试执行以下转换privatevoidMyMethod(objectmyObject){if(myObjectisIEnumerable){Listcollection=(List)myObject;...dosomething}else{...dosomething}}但我总是以以下异常结束:无法将“System.Collections.Generic.List1[MySpecificType]”类型的对象转换为类型“System.Collections.Generic.List1[System.Object]”我真的需要它来工作,因为这个方法需要非常通用才能接收未指定类型的单