Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Foreach语句不能对“quot;”类型的变量进行操作&引用;_C#_Naudio - Fatal编程技术网

C# Foreach语句不能对“quot;”类型的变量进行操作&引用;

C# Foreach语句不能对“quot;”类型的变量进行操作&引用;,c#,naudio,C#,Naudio,我有以下代码: using (var sessionManager = GetDefaultAudioSessionManager2(DataFlow.Render)) { using (var sessionEnumerator = sessionManager.GetSessionEnumerator()) { foreach (var session in sessionEnumerator) { //Code

我有以下代码:

using (var sessionManager = GetDefaultAudioSessionManager2(DataFlow.Render))
{
    using (var sessionEnumerator = sessionManager.GetSessionEnumerator())
    {
        foreach (var session in sessionEnumerator)
        {
         //Code
        }
    }
}
但是我有一个错误,说

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


如何解决此问题?

顾名思义,
sessionnumerator
是一个IEnumerator,但foreach需要IEnumerable。下面是foreach语句的另一种选择

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

        // Code
    }
}

getSessionNumerator()
返回什么?我认为它不是一个
IEnumerable
,而
foreach
需要一个IEnumerablety,将“var sessionnumerator”更改为“getsessionnumerator”返回的实际类型,然后看看编译器是怎么说的。奇怪的是,这行代码在这和。。