Foreach语句无法对“?”类型的变量进行操作

时间:2018-07-02 11:16:08

标签: c# naudio

我有以下代码:

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

但我收到一条错误消息

  

Foreach语句不能对类型为“?”的变量进行操作

如何解决此问题?

1 个答案:

答案 0 :(得分:0)

顾名思义,sessionEnumerator是IEnumerator,但是foreach要求IEnumerable。这是foreach语句的替代方法。

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

        // Code
    }
}