ienumerable 相关问题

IEnumerable,它的通用对应物IEnumerable <T>是用于通过项集合迭代(或枚举)的.NET接口。

一次通过多个IEnumerable

是否有可能编写一个使IEnumerable被多次使用但仅一次通过而又不将所有数据读入内存的高阶函数?例如,在代码中...

回答 1 投票 -1

Enumerable.Intersperse的扩展方法?

我从Haskell那里学习了散布函数,并且一直在寻找c#中的实现。 Intersperse接受2个参数,即IEnumerable 源和T元素。它返回一个...

回答 5 投票 9

遍历类c#中的列表

我有以下课程:公共课程SkinList:INotifyPropertyChanged {公共课程Coord {public int x {get;组; } public int y {get;组; }} public ...

回答 1 投票 0

[]将IEnumerable与一项结合使用会更好:yield return或return []?

这是“您可以做很多事情”的问题之一。考虑以下代码:受保护的虚拟IEnumerable GetScriptReferences(){ScriptReference Referece = new ...

回答 4 投票 9

ASP.NET Core MVC-无效的操作异常没有Ienumerable ]类型的视图数据< 我正在尝试根据在国家/地区下拉列表中选择的国家/地区名称来级联国家名称。我已经为所选国家/地区编写了JS for post方法。但是,当我在视图中添加状态下拉列表并对其进行调试时。我收到错误-没有键StateName1的Ienumerable类型的Viewdata。 NewRequestView模型 public class NewRequestView { public string SelectedCountry { get; set; } public IEnumerable<SelectListItem> Countries { get; set; } public IEnumerable<SelectListItem> State { get; set; } } 国家型号 public class Country { public int CountryID { get; set; } public string CountryName { get; set; } } 控制器 public IActionResult NewRequest() { var model = new NewRequestView { }; model.Countries = iMapper.Map<IEnumerable<Country>, IEnumerable<SelectListItem>>(GetCountries()); return View(model); } 查看 <div class="row"> <div class="col-xs-10 multiSelectCheckboxDiv" id="multiSelectCheckboxDiv"> <span class="col1 contrlLabel" style=" font-family:calibri;color:gray;font-size:15px">Clients<span style="font-weight:800;color:red;">*</span>:</span> @Html.DropDownList("CountryName", Model.Countries ,"Select Country",new { @class = "form-control"}) <div class="input-validation-errorText col-md-6" style="display:none;"> Please select Country. </div> </div> </div> <div class="row"> <div class="col-xs-10 multiSelectCheckboxDiv" id="multiSelectCheckboxDiv"> <span class="col1 contrlLabel" style=" font-family:calibri;color:gray;font-size:15px">Clients<span style="font-weight:800;color:red;">*</span>:</span> @Html.DropDownList("StateName1", Model.State, "Select State", new { @class = "form-control" }) <div class="input-validation-errorText col-md-6" style="display:none;"> Please select state. </div> </div> </div> 我使用AutoMapper映射国家/地区名称。 映射器 var config = new MapperConfiguration(cfg => { cfg.CreateMap<Client, SelectListItem>() .ForMember(x => x.Text, opt => opt.MapFrom(o => o.CountryName)) .ForMember(x => x.Value, opt => opt.MapFrom(o => o.CountryName)); }); return config.CreateMapper(); [从选定国家/地区出发,我解雇了JS以获取所有州名。但是在我选择自己之前,我得到了错误 InvalidOperationException:没有类型为“ IEnumerable”的ViewData项目具有键“ StateName1”。 让我知道我在这里做什么错误 我正在尝试根据在国家/地区下拉列表中选择的国家/地区名称来级联国家名称。我已经为所选国家/地区编写了JS for post方法。但是当我添加状态下拉列表... 无效的操作异常,没有可枚举类型的视图数据 这是由于视图中提供给Html.DropdownList()的空列表所致。 看您的控制器动作,您没有能提供model.State值的任何东西。 public IActionResult NewRequest() { var model = new NewRequestView { }; model.Countries = iMapper.Map<IEnumerable<Country>, IEnumerable<SelectListItem>>(GetCountries()); // you need something like this model.State = new List<SelectListItem>(){ new SelectListItem(){ Text = "Test", Value = "Test" } }; return View(model); } [另一种选择是,由于一旦选择了一个国家,州记录就会来自ajax事件,因此您实际上可以将模型保留为空白。州为空白,不使用Html.Dropdown()。 您可以执行此操作;提交表单时,手动创建的选择字段仍将被视为模型的一部分。 <div class="row"> <div class="col-xs-10 multiSelectCheckboxDiv" id="multiSelectCheckboxDiv"> <span class="col1 contrlLabel" style=" font-family:calibri;color:gray;font-size:15px">Clients<span style="font-weight:800;color:red;">*</span>:</span> <select id="StateName1" name="Model.State" class="form-control"> <option>Select State</option> </select> <div class="input-validation-errorText col-md-6" style="display:none;"> Please select state. </div> </div> </div> 您需要通过将Country ID传递给您的方法并通过JSON返回StateList来进行AJAX调用以获取状态。 检查Cascaded Dropdown Example的逐步说明。

回答 2 投票 0

迭代IEnumerable的2个连续值

对于我的应用程序,我已经构建了一个迭代器,我需要使用它产生的每个值以及上一个值。例如,考虑下面的迭代器,该迭代器产生...

回答 4 投票 1

使用C#创建IEnumerable >对象?

出于测试目的,我需要使用以下示例键值对创建IEnumerable >对象:Key = Name |值:John Key =城市|值:NY ...

回答 5 投票 29

IEnumerable上的循环 抛出不支持的异常

我需要一个仅返回列表中某些项目的查询,并且我需要将这些项目放入数据库中。这是返回IEnumerable的linq查询:IEnumerable ...

回答 1 投票 0

如何使用反射来迭代包括IEnumerable集合在内的所有属性?

假设我有以下课程;公共类Foo {公共字符串参考{get;组; } public CompanyModel Company {get;组; } public CallDataModel CallData {get;组; }} ...

回答 1 投票 0

IQueryable与IEnumerable以及多态性,其中对象知道它是哪个子类

当显式声明具有IEnumberable的查询类型时,例如IEnumarable q =从db中的c开始。客户选择c.ContactName; var q2 = q.Where(s => s ....

回答 1 投票 0

我如何将int传递给IEnumerable?

我的代码给我以下错误:编译错误(第23行,第5行):'Program.PrintValues(System.Collections.IEnumerable)'的最佳重载方法匹配具有一些无效的参数...

回答 2 投票 0

在C#中使用分割分区列表

我如何使用这种拆分列表的方法<>私有列表 >拆分分区 ((此IEnumerable 集合,整数 大小){var chunks = new List &... ] >>>]]] > <<<< [ 看不到您的完整代码,但: 扩展方法需要属于static类,并且 该类和方法必须在调用代码中可见。 特别是,我可以看到您的ExportToCsv不是静态的,因此它不属于静态类,因此我可以推断出您的private扩展方法之一: 不属于静态类,或 属于与您的ExportToCsv方法不同的类,因此无法从中看到它 因此,使public static类包含扩展方法,将方法本身标记为public static,您应该经商。 更多详细信息:https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/how-to-implement-and-call-a-custom-extension-method 我认为您最好为此推出自己的解决方案。假设您已经下载了5000个成员,并希望将它们写入50个成员块(100个文件)的文件中,则只需执行以下操作: StringBuilder sb = new StringBuilder(10000); int x= 0; foreach(var m in members){ if(++x%50 == 0){ File.WriteAllText(sb.ToString(), $@"c:\temp\{x%50}.csv"); sb.Length = 0; } sb.AppendLine(m.ToCsvRepresentationEtc()); } 我要说的不是写文件,而是要知道要对块执行什么操作(例如,写文件),并对可枚举进行一次遍历,并在该遍中切成块通过更改您不时采取的措施。在此示例中,更改操作是一个简单的模,它清空StringBuilder的缓冲区,并根据模写出一个文件名。这比烧掉一堆内存更好(根据所涉及的数字,该拆分例程的性能可能会很糟糕;它不会尝试根据这些数字提供任何适当大小的列表)。 至少要考虑重写分块,以便它使用直的二维(锯齿状)阵列;您知道传入的List的大小和块的大小需要多少大小: public static class ListExtensions{ public List<List<T>> SplitPartition<T>(this IEnumerable<T> collection, int size) { var chunks = new List<List<T>>(collection.Count/size + 1); var temp = new List<T>(size); foreach (var element in collection) { if (temp.Count == size) { chunks.Add(temp); temp = new List<T>(size); } temp.Add(element); } chunks.Add(temp); return chunks; } }

回答 2 投票 0

了解IEnumerable-IEnumerator逻辑

我迷上了Adam Freeman的《 Asp net》一书,我读了很多有关IEnumerable和IEnumerator接口的书,但是仍然很难理解一些结果。我有这两节课。公共类...

回答 1 投票 0

如何从IQueryable 使用LINQ选择一个IEnumerable元素?

如何使用LINQ从IQueryable中选择元素列表?例如。我有以下对象:IQueryable > dtosLists;我想将dtoList设置为......] ]

回答 1 投票 0

IEnumerable.GetEnumerator引发InvalidCastException->为什么我没有得到编译时错误?

我发现了一个非常令人困惑的问题,希望您能帮助我理解此问题。我的目标是要有一个结构,为了便于阅读,我可以轻松地对其进行迭代。不幸的是,我收到了...

回答 1 投票 0

如何将一个双精度数组转换为另一个双精度数组(空)

我有一个字符串,它是35.318073; 65.741196; 57.335339; 87.758453; +0.573 ;; 42.282722; 92.314201; 64.299988; 114.331459; +0.537 ;; 89.842690; 109.230721; 111.859947; 131.247986; +0.644 ;;我正在使用以下...

回答 1 投票 -1

Yield关键字为IEnumerable提供了意外的值

这是我的代码(扩展方法)公共静态IEnumerable GetFieldVals(此DataSource rs,IEnumerable columnNames,Predicate ShouldRun){...

回答 1 投票 0

。net中的IEnumerable

。net中的IEnumerable是什么?

回答 5 投票 67

为什么将结果添加到列表时不执行方法调用?

将Repeat(item,nr))添加到带有res.Add(Repeat(item,nr))的res中时,不会执行Repeat方法。为什么?我使用了调试器,但它不执行。公共类程序{public static ...

回答 1 投票 1

为什么Enumerable不实现IEnumerable?

我一直在试图了解集合的.Net框架的元数据,并且我看到集合实现了IEnumerable和IEnumerable。然后我看了看Enumerable,发现它是...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.