怎样使一类可迭代? [英] How do I make a class iterable?
本文介绍了怎样使一类可迭代?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这是我的类
public class csWordSimilarity
{
public int irColumn1 = 0;
public int irColumn2 = 0;
public int irColumn3 = 0;
public int irColumn4 = 0;
public int irColumn5 = 0;
}
我想使该类迭代,以用于像下面<道路/ p>
I want to make that class iterable to be used like the way below
foreach (int irVal in myVarWordSimilarity)
{
}
myVarWordSimilarity
是 csWordSimilarity
类型。所以我想遍历所有公共 INT
变量。我如何需要修改 csWordSimilarity
类使其迭代像上面的方式。
myVarWordSimilarity
is csWordSimilarity
type. So I want to iterate all public int
variables. How do I need to modify csWordSimilarity
class for making it iterable like the way above.
推荐答案
您可以实现IEnumerable并具有覆盖的GetEnumerator返回一个迭代器在使用变量产生声明
You can implement IEnumerable and have the GetEnumerator override return an "iterator" over the variables using the yield statement
class csWordSimilarity : IEnumerable<int>
{
private int _var1 = 1;
private int _var2 = 1;
private int _var3 = 1;
private int _var4 = 1;
public IEnumerator<int> GetEnumerator()
{
yield return _var1;
yield return _var2;
yield return _var3;
yield return _var4;
}
IEnumerator IEnumerable.GetEnumerator()
{
return GetEnumerator();
}
}
这篇关于怎样使一类可迭代?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文