yield возвращающий пустой енумератор
От: Sergey J. A. Беларусь  
Дата: 06.12.06 08:42
Оценка:
Как сделать yield возвращающий пустой енумератор ? Пока что я сделал так:

public override IEnumerable<MetaChartInfo> Charts
{
    get
    {
        if (false)
            yield return null;
    }
}


Но, ругается на Unreachable code detected

Так вот не проходит:
public override IEnumerable<MetaChartInfo> Charts
{
    get
    {
    }
}

GoJanus для FireFox
Re: yield возвращающий пустой енумератор
От: desco США http://v2matveev.blogspot.com
Дата: 06.12.06 08:45
Оценка: 12 (1)
Здравствуйте, Sergey J. A., Вы писали:

SJA>Как сделать yield возвращающий пустой енумератор ? Пока что я сделал так:


SJA>
SJA>public override IEnumerable<MetaChartInfo> Charts
SJA>{
SJA>    get
SJA>    {
SJA>        if (false)
SJA>            yield return null;
SJA>    }
SJA>}
SJA>


SJA>Но, ругается на Unreachable code detected


SJA>Так вот не проходит:

SJA>
SJA>public override IEnumerable<MetaChartInfo> Charts
SJA>{
SJA>    get
SJA>    {
SJA>    }
SJA>}
SJA>


а зачем так сложно?

public override IEnumerable<MetaChartInfo> Charts
{
    get
     {
        return new MetaChartInfo[0];
     }
}
Re: yield возвращающий пустой енумератор
От: Sinclair Россия https://github.com/evilguest/
Дата: 06.12.06 09:19
Оценка: 39 (5) +3
Здравствуйте, Sergey J. A., Вы писали:

SJA>Как сделать yield возвращающий пустой енумератор ? Пока что я сделал так:

А как насчет почитать MSDN?
public override IEnumerable<MetaChartInfo> Charts
{
    get
    {
            yield break;
    }
}
1.2.0 alpha rev. 655
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re: yield возвращающий пустой енумератор
От: AK85 Беларусь  
Дата: 06.12.06 12:52
Оценка: -1
Здравствуйте, Sergey J. A., Вы писали:

SJA>Как сделать yield возвращающий пустой енумератор ? Пока что я сделал так:


SJA>
SJA>public override IEnumerable<MetaChartInfo> Charts
SJA>{
SJA>    get
SJA>    {
SJA>        if (false)
SJA>            yield return null;
SJA>    }
SJA>}
SJA>


SJA>Но, ругается на Unreachable code detected


SJA>Так вот не проходит:

SJA>
SJA>public override IEnumerable<MetaChartInfo> Charts
SJA>{
SJA>    get
SJA>    {
SJA>    }
SJA>}
SJA>


Unreachable code detected потому что после if, решение — убрать if или после него поставить еще return. yeld break — не замена, т.к. null тоже значение и его можно возвращать скока надо раз, а yeld break вернет false из MoveNext().
Re[2]: yield возвращающий пустой енумератор
От: Sergey J. A. Беларусь  
Дата: 07.12.06 11:24
Оценка:
Здравствуйте, AK85, Вы писали:

AK>Unreachable code detected потому что после if, решение — убрать if или после него поставить еще return. yeld break — не замена, т.к. null тоже значение и его можно возвращать скока надо раз, а yeld break вернет false из MoveNext().


Мне и нужно было вернуть пустой итератор, поэтому я поместил фейковый код, после if(false). Так что, yield break тут очень даже подходит.

GoJanus для FireFox
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.