Foreach 语句不能对“?”类型的变量进行操作
Foreach statement cannot operate on variables of type "?"
我有如下一段代码:
using (var sessionManager = GetDefaultAudioSessionManager2(DataFlow.Render))
{
using (var sessionEnumerator = sessionManager.GetSessionEnumerator())
{
foreach (var session in sessionEnumerator)
{
//Code
}
}
}
但我收到一条错误消息
Foreach statement cannot operate on variables of type "?"
我该如何解决这个问题?
顾名思义,sessionEnumerator
是一个 IEnumerator,但 foreach 需要 IEnumerable。这是 foreach 语句的替代方法。
using (var sessionManager = GetDefaultAudioSessionManager2(DataFlow.Render))
{
while(sessionEnumerator.MoveNext())
{
var session = sessionEnumerator.Current;
// Code
}
}
我有如下一段代码:
using (var sessionManager = GetDefaultAudioSessionManager2(DataFlow.Render))
{
using (var sessionEnumerator = sessionManager.GetSessionEnumerator())
{
foreach (var session in sessionEnumerator)
{
//Code
}
}
}
但我收到一条错误消息
Foreach statement cannot operate on variables of type "?"
我该如何解决这个问题?
顾名思义,sessionEnumerator
是一个 IEnumerator,但 foreach 需要 IEnumerable。这是 foreach 语句的替代方法。
using (var sessionManager = GetDefaultAudioSessionManager2(DataFlow.Render))
{
while(sessionEnumerator.MoveNext())
{
var session = sessionEnumerator.Current;
// Code
}
}