【发布时间】:2018-07-02 19:26:53
【问题描述】:
我有以下代码:
using (var sessionManager = GetDefaultAudioSessionManager2(DataFlow.Render))
{
using (var sessionEnumerator = sessionManager.GetSessionEnumerator())
{
foreach (var session in sessionEnumerator)
{
//Code
}
}
}
但我收到一个错误提示
Foreach 语句不能对“?”类型的变量进行操作
我该如何解决这个问题?
【问题讨论】:
-
GetSessionEnumerator()返回什么?我认为它不是IEnumerable而foreach期望 IEnumerable -
尝试将“var sessionEnumerator”更改为“GetSessionEnumerator”返回的实际类型,看看编译器是怎么说的。
-
奇怪的是,this answer、unit test 和 this question.. 中的那行代码是“正确的”。