例如,我需要能够绕过未知类型
foreach (var test in viewData["foobar"])
{
}
Run Code Online (Sandbox Code Playgroud)
有什么建议么
您必须至少强制viewData["foobar"]
转换IEnumerable
为object
在test
变量中包含。
强制转换可能会失败,因此您首先必须检查是否viewData["foobar"]
实际IEnumerable
使用is
或as
运算符实现:
if(viewData["foobar"] is IEnumerable)
foreach(var test in (IEnumerable)viewData["foobar"])
Run Code Online (Sandbox Code Playgroud)
请注意,这是使用System.Collections.IEnumerable
,不是System.Collections.Generic.IEnumerable<>
。