草庐IT

IEnumerable

全部标签

c# - 为什么 ForEach Linq Extension 在 List 上而不是在 IEnumerable 上

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:WhyistherenotaForEachextensionmethodontheIEnumerableinterface?你好,我的问题是为什么Foreach扩展方法是在List而不是IEnumreable上定义的。我读过EricLippert的article但关键是,如果有这样的方法比List有什么不好呢?

c# - 将 IEnumerable<T> 转换/转换为 IEnumerable<U>?

以下符合但在运行时抛出异常。我想要做的是将PersonWithAge类转换为Person类。我该怎么做,解决方法是什么?classPerson{publicintId{get;set;}publicstringName{get;set;}}classPersonWithAge{publicintId{get;set;}publicstringName{get;set;}publicintAge{get;set;}}classProgram{staticvoidMain(string[]args){IEnumerablepwa=newList{newPersonWithAge{Id=1,

c# - 为什么 RepeaterItemCollection 上没有 LINQ 扩展方法,尽管它实现了 IEnumerable?

为什么RepeaterItemCollection上没有LINQ扩展方法,尽管它实现了IEnumerable?我正在使用Linq处理同一类中其他地方的对象。但是,当我尝试使用RepeaterItemCollection这样做时,它们不可用。我的印象是LINQ扩展方法可用于实现IEnumerable的类。我错过了什么? 最佳答案 它实现了IEnumerable,但不是IEnumerable.但这并不意味着您不能使用它-这是OfType的一部分和Cast用于从非通用序列构建通用序列:varfiltered=items.Cast().Wh

c# - 如何将 IEnumerable<t> 或 IQueryable<t> 转换为 EntitySet<t>?

在这种情况下,我尝试使用LINQtoXML和LINQtoSQL执行从XML文件到数据库的数据导入。这是我的LINQ数据模型:publicstructPage{publicstringName;publiccharStatus;publicEntitySetPageContents;}publicstructPageContent{publicstringContent;publicstringUsername;publicDateTimeDateTime;}基本上我想做的是编写一个查询,该查询将为我提供一个数据结构,我可以将其提交到我的LINQ数据上下文。IEnumerablepage

c# - 将 IQueryable.Count<T> 与 IEnumerable<T> 参数一起使用

想象一个类,比方说它可以与IList一起使用的分页。或IQueryable.该类将有一个intTotalItems属性,这将(不足为奇)获取/设置可查询或可枚举参数的计数。如果我使用IEnumerable作为参数,//simplifiedpublicPagination(IEnumerablequery){TotalItems=query.Count();}Count()方法将是(如果我没记错的话)Enumerable.Count().所以即使查询是IQueryable(继承自IEnumerable),它将被枚举(这显然不是“数据库查询”所期望的)。那么有没有办法使用Queryable

asp.net - MVC 3 在 IEnumerable 模型 View 中编辑数据

我正在尝试在强类型RazorView中编辑项目列表。模板没有给我在单个View中编辑对象列表的选项,因此我将ListView与编辑View合并。我只需要在复选框中编辑一个bool字段。问题是我无法将数据传回Controller。我该怎么做?表单集合?查看数据?提前致谢。代码如下:模型:publicclassPermissao{publicintID{get;set;}publicTipoPermissaoTipoP{get;set;}publicboolHasPermissao{get;set;}publicstringUtilizadorID{get;set;}}publicclas

c# - 为什么 async/await 允许从 List 到 IEnumerable 的隐式转换?

我刚刚研究了async/await并发现了一些有趣的东西。看看下面的例子://1)ok-obviouspublicTask>GetAll(){IEnumerabledoctors=newList{newDoctorDto()};returnTask.FromResult(doctors);}//2)ok-obviouspublicasyncTask>GetAll(){IEnumerabledoctors=newList{newDoctorDto()};returnawaitTask.FromResult(doctors);}//3)ok-notsoobviouspublicasyncT

c# - 如何使用 GetEnumerator() 实现 IEnumerable<T>?

这个问题在这里已经有了答案:TroublesimplementingIEnumerable(7个答案)关闭8年前。我希望我的类型实现IEnumerable.我试图简而言之遵循C#,但出了点问题:publicclassSimulation:IEnumerable{privateIEnumerableEvents(){yieldreturn"a";yieldreturn"b";}publicIEnumeratorGetEnumerator(){returnEvents().GetEnumerator();}}但是我得到构建错误Error1'EventSimulator.Simulation

c# - 为什么 IEnumerable 慢而 List 快?

遇到了这段代码。vardic=newDictionary();for(inti=0;if.Value.StartsWith("1")).Select(f=>f.Key);//.ToList();//uncommentforfastresultsConsole.WriteLine(list.GetType());varlist2=dic.Where(f=>list.Contains(f.Key)).ToList();Console.WriteLine(list2.Count());所以当.ToList()被评论时它很慢,当没有评论时-它很快。可复制here这怎么解释呢?我是否应该始终制作

c# - 如何在 C# 中将 IEnumerable<T> 转换为 List<T>?

我正在使用LINQ查询通用字典,然后将结果用作我的ListView(WebForms)的数据源。简化代码:Dictionarydict=GetAllRecords();myListView.DataSource=dict.Values.Where(rec=>rec.Name=="foo");myListView.DataBind();我认为这行得通,但实际上它抛出了一个System.InvalidOperationException:ListViewwithid'myListView'musthaveadatasourcethateitherimplementsICollectiono