ienumerable 相关问题

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

通过 IEnumerable 进行分页

我有一个 IEnumerable 对象 (IEnumerable),我想从该对象中检索指定的行。因此,如果我在第二页,我想从 IEnumerable 对象中选择第二行...

回答 5 投票 0

使用 IDataReader 作为 IEnumerable 的最佳方法<T>?

我需要在任何 IDataReader 实现上使用 Linq,如下所示 var c = sqlDataReader.AsEnumerable().Count(); 例子: 公共抽象类测试 { 公共抽象 SqlDataReader GetSqlDataRe...

回答 7 投票 0

C#,单个 T 和 IEnumerable 的重载<T>

public static void AddOrUpdate(T 条目) 其中 T : 类 { //东西 } 公共静态无效AddOrUpdate(IEnumerable条目)其中T:类 { foreach(

回答 4 投票 0

IEnumerable 无法在 Azure DevOps 管道中工作

我有一个使用 xUnit 的单元测试,并且是 uisng net 472。单元测试正在测试我们使用 IEnumerable 制作的函数。我有一个像这样的断言 adt.PatientVisitInformation.First().

回答 1 投票 0

如何更改 C# 中 Directory.EnumerateFiles 的惰性结果

我需要更改 C# 中 Directory.EnumerateFiles 的惰性结果 我尝试了下面的代码,但我失去了 Directory.EnumerateFiles 函数的懒惰行为。 公共任务 我需要更改 C# 中 Directory.EnumerateFiles 的惰性结果 我尝试了下面的代码,但我失去了 Directory.EnumerateFiles 函数的懒惰行为。 public Task<IEnumerable<string>> EnumerateStorageFiles(string DirectoryPathOnStorage, string SearchPattern = "*.*") { try { List<string> result = Directory.EnumerateFiles(GetStorageRelatedPath(DirectoryPathOnStorage), SearchPattern, new EnumerationOptions() { IgnoreInaccessible = true, RecurseSubdirectories = true, AttributesToSkip = FileAttributes.System, ReturnSpecialDirectories = false }).ToList(); for (int i = 0; i < result.Count; i++) { result[i] = Path.GetRelativePath(StorageBasePath, result[i]); } return Task.FromResult(result.AsEnumerable()); } catch { } return Task.FromResult(Enumerable.Empty<string>()); } public Task<IEnumerable<string>> EnumerateStorageFiles(string DirectoryPathOnStorage, string SearchPattern = "*.*") { try { // Using Select to transform paths lazily without converting to List IEnumerable<string> result = Directory.EnumerateFiles(GetStorageRelatedPath(DirectoryPathOnStorage), SearchPattern, new EnumerationOptions() { IgnoreInaccessible = true, RecurseSubdirectories = true, AttributesToSkip = FileAttributes.System, ReturnSpecialDirectories = false }) .Select(file => Path.GetRelativePath(StorageBasePath, file)); return Task.FromResult(result); } catch { return Task.FromResult(Enumerable.Empty<string>()); } } 您在代码中失去惰性行为的原因是由于 Directory.EnumerateFiles 上的 .ToList() 调用。当您调用 .ToList() 时,它会立即强制进行枚举,这意味着所有文件都会立即加载到内存中,从而违背了延迟计算的目的。 为了在转换结果时保持惰性求值,您可以避免转换为列表。 相反,您可以使用 LINQ 延迟应用转换,同时保留 IEnumerable 行为。

回答 1 投票 0

使用 vb.net 从列表和数据表转置可编辑 DataGridView

我正在尝试使用 vb.net 从列表和数据表中制作转置可编辑 DataGridView。 所以在 Datagridview1 转置可编辑(从列表)中,结果是 Datagridview1 不可转置且不可编辑...

回答 1 投票 0

C# 中有“空列表”单例吗?

在 C# 中,我经常使用 LINQ 和 IEnumerable。一切都很好(或者至少大部分如此)。 然而,在很多情况下,我发现自己需要一个空的 IEnumerable 作为默认值。也就是说,我

回答 7 投票 0

迭代集合并随时更改集合

我正在尝试根据条件使用传入值更新集合。 我知道您在迭代集合时无法修改集合,因此我创建了它的副本并在 f 之外更新它...

回答 1 投票 0

C# 中向量的 ParallelEnumerable.Sum?

C# 中向量是否有与 ParallelEnumerable.Sum() 等效的函数?我目前正在使用 System.Numerics Vector2s,但实际上任何具有多个组件的数据结构都可以正常工作。我是...

回答 1 投票 0

自定义类中的C# Json反序列化对象,要在foreach循环中使用,需要IEnumerable

我正在将自定义 Json 加载到自定义 getter/setter 类中,但是我对 IEnumerables 完全没有经验,并且有点卡住了。 杰森: { 'Item1': {'a': 值, 'b': 值, 'c': []},...

回答 1 投票 0

重构 IEnumerable<T> 产量

今天我学到了新东西。 我有以下代码用于创建包含节点之间链接的简单图形 公共类节点(字符串名称) { 公共字符串名称{获取; } = 名称; }

回答 1 投票 0

这是 F# 编译器错误吗? #2

开放系统 类型 Foo() = 接口 Collections.IEnumerable 与 成员 x.GetEnumerator() = null 类型栏()= 接口 Collections.IEnumerable 与 成员 x.GetEnumer...

回答 3 投票 0

如何获取LINQ分页的总页数

基于这个关于如何在列表上应用分页的答案。 我想扩展这个问题:我们如何获得列表的总页数,其中每页包含特定的项目总集合? 为了考试...

回答 2 投票 0

是否可以使用`DispatchProxy`拦截扩展方法调用

我使用 DispatchProxy 创建一个“缓存”IEnumerable,它将在第一次枚举时评估其元素一次,然后缓冲它们以供后续枚举。我知道...

回答 1 投票 0

ASP.NET MVC POST 中的模型绑定 IEnumerable?

将 IEnumerable 类型模型绑定到 MVC POST 是否存在任何问题? 我的模型中的某些属性未绑定到操作的帖子上。似乎模型上的属性(例如字符串)...

回答 2 投票 0

使用 ToList() 与 new List(IEnumerable<T>) 之间的性能差异

我很好奇在 IEnumerable 上使用 ToList() 与仅调用列表构造函数“List(IEnumerable)”相比对性能的影响。 例子: int[] testArray = new int[10]; var 列表 = tes...

回答 1 投票 0

使用迭代器是否意味着堆对象?

创建 IEnumerable 类型的对象(例如下面代码示例中 IEnumerable 类型的数字对象)是否意味着在具有

回答 1 投票 0

.NET 控制器 API 列表结果转换为 IEnumerable

我有一个 API 控制器,其方法返回 IEnumerable。方法 GetProjects 返回 List<(string, object)>: [http获取] [路线(“getProjects”)] 公共异步任务 我有一个 API 控制器,其方法返回 IEnumerable。方法 GetProjects 返回 List<(string, object)>: [HttpGet] [Route("getProjects")] public async Task<IEnumerable<(string, object)>> GetProjects(string departmentName) { var result = await dataService.GetProjects(departmentName); return result.AsEnumerable(); } 在从 API 返回之前,结果应该转换为 IEnumerable 还是可以作为 Task<List<(string, object)>> 返回? .NET 指南的建议是应该从 API 返回 List: dotnet 标准设计指南 集合指南 在上述情况下将 List 转换为 IEnumerable 有什么好处?这是附加操作。 IEnumerable 和 List 的 Angular 服务结果看起来相同。它看起来像 json 中的数组。 如果对 dataService.GetProjects 的调用已返回 List,则调用 AsEnumerable() 返回 IEnumerable 没有任何好处。 返回 IEnumerable 在其他情况下可能有好处:它隐藏了具体实现(例如 List),这允许您将来更改底层集合类型,而不会影响方法签名(IEnumerable 可以表示广泛的集合,提供更大的灵活性) 这里你可以简化为 [HttpGet] [Route("getProjects")] public async Task<List<(string, object)>> GetProjects(string departmentName) { var result = await dataService.GetProjects(departmentName); return result; }

回答 1 投票 0

基于IEnumerable格式化GeoJson<Users>

我有一个基本的API正在运行,我可以像平常一样存储数据并获取数据。但是,我在格式化内容时遇到问题。我可以使用 HTTPGet 获取所有用户的列表,它看起来像这样......

回答 1 投票 0

从List转换为IEnumerable格式

IEnumerable _Book_IE 列表_图书_列表 我该如何将 _Book_List 转换为 IEnumerable 格式?

回答 7 投票 0

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