ienumerable 相关问题

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

编译为空的虚拟 IEnumerable<T>

。如果枚举的话,基类不会产生任何结果,而是派生的

回答 4 投票 0

在 C# 中将 PriorityQueue 转换为数组的推荐方法是什么?

我真的很难接受 Microsoft 的 PriorityQueue 实现,因为它缺少您在其他集合中可以找到的大多数扩展方法。 没有 ToArray 方法,...

回答 1 投票 0

如何在 C# 中合并非泛型 IEnumerable

我试图让一个对象继承另一个对象,其中 IEnumerable 类型的属性将合并在一起。 两个对象属于同一类。 foreach(typeof(Placeholder) 中的 var 属性。

回答 1 投票 0

如何为 IEnumerable 赋值

我有以下课程,其中有一个 IEnumerable 列表,如下所示 公开课订单 { 公共字符串否{获取;放; } 公共字符串 Id { 获取;放; } 公共 IEnumerable 我有以下课程,其中有一个IEnumerable列表如下 public class Orders { public string No { get; set; } public string Id { get; set; } public IEnumerable<string> OrderTypes { get; set; } = new List<string> { "order 1", "order 2", "order 3" } } 我可以不直接在上面分配值,而是可以将其放入单独的类中,如下所示 public class OrderTypes() { IEnumerable<string> myEnumerable = new List<string>() myEnumerable.add("Order 1") myEnumerable.add("Order 3") myEnumerable.add("Order 4") myEnumerable.add("Order 5") myEnumerable.add("Order 6") } 然后像上面那样调用这个函数 public class Orders { public string No { get; set; } public string Id { get; set; } public IEnumerable<string> OrderTypes { get; set; } = OrderTypes } 这样做的原因是因为我的列表太长,这样更容易查看,但我不知道如何实现这一点。 足够接近。您可以简单地使用静态方法: public class Orders { public string No {get;set;} public string Id {get;set;} public IEnumerable<string> OrderTypes{get;set;} = CreateOrderTypes(); private static IEnumerable<string> CreateOrderTypes() { return new List<string> { "Order 1", "Order 3", "Order 4", "Order 5", "Order 6", }; } } 当然,CreateOrderTypes不必在同一个班级,可以移动到不同的班级。第二个类必须对第一个类可见。 public class Orders { public string No {get;set;} public string Id {get;set;} public IEnumerable<string> OrderTypes{get;set;} = OrderTypesFactory.InitOrderTypes(); } static class OrderTypesFactory { static IEnumerable<string> InitOrderTypes() { return new List<string> { "Order 1", "Order 3", "Order 4", "Order 5", "Order 6", }; } } 如果我正确理解了这个问题,你可以有一个类 Orders 的构造函数,然后当你实例化该类时,你可以在其中传递 IEnumerable 的值并分配该值。所以它看起来像: public class Orders { public string No { get; set; } public string Id { get; set; } public IEnumerable<string> OrderTypes { get; set; } public Orders(IEnumerable<string> orderTypes) { OrderTypes = orderTypes; } } public class Main { public void Main() { var orderTypes = new List<string>() { "Your", "values", "Here" }; var orders = new Orders(orderTypes); } }

回答 2 投票 0

如何从 IEnumerable 中删除计数> 1的元素[关闭]

我有一个 IEnumerable,并且某些条目具有重复的名称。我想删除那些重复的条目。 例如,如果名称为:“Prag1”: 首先我想检查是否有多个...

回答 2 投票 0

C# IEnumerable - 删除计数 > 1 的元素

我有一个 IEnumerable,并且某些条目具有重复的名称。我想删除那些重复的条目。 例如,如果名称为:“Prag1”: 首先我想检查是否有多个...

回答 2 投票 0

c# ienumerable 删除计数 > 1 的元素

我有一个可枚举的记录,有时记录会具有相同的名称。所以我想从中删除一个。 例如名称是:“Prag1” 所以现在首先我想检查是否在

回答 1 投票 0

如何在运行时访问 IEnumerable 的值<T>

大家好: 我正在开发一个 WEB API,它将分页响应返回到 jQuerydatatable 端点。由于代码会重复,因此我将所有逻辑封装在下面的通用过程中。那个...

回答 1 投票 0

通过 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

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