如果我知道某个泛型类型参数是一个数组,我该如何将它转换为数组,或者IEnumerable我可以看到它的项目?例如
public class Foo<T>
{
public T Value { get; set; }
public void Print()
{
if (Value.GetType().IsArray)
foreach (var item in Value /*How do I cast this to Array or IEnumerable*/)
Console.WriteLine(item);
}
}
Run Code Online (Sandbox Code Playgroud)
尝试这样的事情:
public void Print()
{
var array = Value as Array;
if (array != null)
foreach (var item in array)
Console.WriteLine(item);
}
Run Code Online (Sandbox Code Playgroud)
在为关键字:
as运算符就像一个强制转换操作.但是,如果无法进行转换,则返回null而不是引发异常.
| 归档时间: |
|
| 查看次数: |
1490 次 |
| 最近记录: |