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”返回的实际类型,然后看看编译器是怎么说的。奇怪的是,这行代码在这和。。