草庐IT

ienumerable

全部标签

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]”我真的需要它来工作,因为这个方法需要非常通用才能接收未指定类型的单

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]”我真的需要它来工作,因为这个方法需要非常通用才能接收未指定类型的单

c# - 为什么 C# 编译器允许在 IEnumerable<T> 和 TAlmostAnything 之间进行显式转换?

如您所料,以下代码会出现编译错误:ListaBunchOfBananas=newList();BananajustOneBanana=(Banana)aBunchOfBananas;但是,当使用IEnumerable时,您只会收到运行时错误。IEnumerableaBunchOfBananas=newList();BananajustOneBanana=(Banana)aBunchOfBananas;为什么C#编译器允许这样做? 最佳答案 我想这是因为IEnumerable是一个接口(interface),其中某些实现可以显式转换为

c# - 为什么 C# 编译器允许在 IEnumerable<T> 和 TAlmostAnything 之间进行显式转换?

如您所料,以下代码会出现编译错误:ListaBunchOfBananas=newList();BananajustOneBanana=(Banana)aBunchOfBananas;但是,当使用IEnumerable时,您只会收到运行时错误。IEnumerableaBunchOfBananas=newList();BananajustOneBanana=(Banana)aBunchOfBananas;为什么C#编译器允许这样做? 最佳答案 我想这是因为IEnumerable是一个接口(interface),其中某些实现可以显式转换为

c# - 协方差和向上转型之间的区别

协方差和向上转型之间有什么区别,或者更具体地说,为什么它们有不同的名称?我见过以下称为“向上转换”的示例:strings="hello";objecto=s;//upcastto'string'to'object'然而,我看到以下称为“协方差”:string[]s=newstring[100];object[]o=s;IEnumerableies=newList();IEnumerableieo=ies;现在,在我未经训练的眼中,协方差似乎与向上转换相同,只是它指的是集合的转换。(关于逆变和向下转型,可以做出类似的陈述)。真的有那么简单吗? 最佳答案

c# - 协方差和向上转型之间的区别

协方差和向上转型之间有什么区别,或者更具体地说,为什么它们有不同的名称?我见过以下称为“向上转换”的示例:strings="hello";objecto=s;//upcastto'string'to'object'然而,我看到以下称为“协方差”:string[]s=newstring[100];object[]o=s;IEnumerableies=newList();IEnumerableieo=ies;现在,在我未经训练的眼中,协方差似乎与向上转换相同,只是它指的是集合的转换。(关于逆变和向下转型,可以做出类似的陈述)。真的有那么简单吗? 最佳答案

c# - 将 DataRowCollection 转换为 IEnumerable<T>

我想在.NET3.5中做这样的事情。什么是最快的方法?IEnumerablecollection=TypedDataSet.TypedTableBase.RowsasIEnumerable; 最佳答案 您可以调用OfType()在DataRowCollection上. 关于c#-将DataRowCollection转换为IEnumerable,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/quest

c# - 将 DataRowCollection 转换为 IEnumerable<T>

我想在.NET3.5中做这样的事情。什么是最快的方法?IEnumerablecollection=TypedDataSet.TypedTableBase.RowsasIEnumerable; 最佳答案 您可以调用OfType()在DataRowCollection上. 关于c#-将DataRowCollection转换为IEnumerable,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/quest