gpt4 book ai didi

c# - 如何在 C# 中将类设为 IEnumerable?

转载 作者:IT王子 更新时间:2023-10-29 04:46:05 26 4
gpt4 key购买 nike

所以我在其中有一个类和一个通用列表,但它是私有(private)的。

class Contacts
{
List<Contact> contacts;
...
}

我想让类(class)像这样工作:

foreach(Contact in contacts) .... ;

像这样(不工作):

Contacts c;
foreach(Contact in c) .... ;

在上面的示例中,Contact 类实例 c 必须返回联系人中的每个项目(c 的私有(private)成员)

我该怎么做?我知道它必须是带有 yield return 的 IEnumerable,但是在哪里声明呢?

最佳答案

实现IEnumerable接口(interface):

class Contacts : IEnumerable<Contact>
{
List<Contact> contacts;

#region Implementation of IEnumerable
public IEnumerator<Contact> GetEnumerator()
{
return contacts.GetEnumerator();
}

IEnumerator IEnumerable.GetEnumerator()
{
return GetEnumerator();
}
#endregion
}

关于c# - 如何在 C# 中将类设为 IEnumerable?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13135443/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com