Оператор Foreach не может работать с переменными типа "?" - PullRequest
0 голосов
/ 02 июля 2018

У меня есть следующий фрагмент кода:

using (var sessionManager = GetDefaultAudioSessionManager2(DataFlow.Render))
{
    using (var sessionEnumerator = sessionManager.GetSessionEnumerator())
    {
        foreach (var session in sessionEnumerator)
        {
         //Code
        }
    }
}

Но я получаю сообщение об ошибке

Оператор Foreach не может работать с переменными типа "?"

Как я могу решить эту проблему?

1 Ответ

0 голосов
/ 02 июля 2018

, как следует из названия sessionEnumerator - это IEnumerator, но foreach требует IEnumerable. вот альтернатива оператора foreach.

using (var sessionManager = GetDefaultAudioSessionManager2(DataFlow.Render))
{
    while(sessionEnumerator.MoveNext())
    {
        var session = sessionEnumerator.Current;

        // Code
    }
}
...