Внедрить интерфейс IEnumerable [дубликат]

Предел имеет также параметр смещения

SELECT name FROM mydb ORDER BY score DESC LIMIT 10,10
13
задан vaultah 20 April 2016 в 09:27
поделиться

2 ответа

Вы можете реализовать IEnumerable и переопределить GetEnumerator, чтобы вернуть «итератор» по переменным, используя инструкцию yield

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();
    }
}
22
ответ дан edvaldig 26 August 2018 в 19:09
поделиться

Внедрить IEnumerable. См. Использование итераторов (Руководство по программированию на C #)

В вашем случае вы можете просто использовать встроенный итератор List следующим образом:

using System;
using System.Collections.Generic;

class csWordSimilarity : IEnumerable<int> {
    public int irColumn1 = 0;
    public int irColumn2 = 0;
    public int irColumn3 = 0;
    public int irColumn4 = 0;
    public int irColumn5 = 0;

    public IEnumerator<int> GetEnumerator() {
        return (new List<int>() { 
            irColumn1, irColumn2, irColumn3, irColumn4, irColumn5 
        }).GetEnumerator();
    }
    System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() {
        return GetEnumerator();
    }
}
8
ответ дан Joshua Honig 26 August 2018 в 19:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: