首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在C#中将对象数组(实现接口Ifoo)转换为Ifoo[]

在C#中将对象数组(实现接口Ifoo)转换为Ifoo[]
EN

Stack Overflow用户
提问于 2019-05-20 01:18:57
回答 2查看 0关注 0票数 0
代码语言:javascript
复制
class A : IFoo
{
}

...

A[] arrayOfA = new A[10];

if(arrayOfA is IFoo[]) 
{
    // this is not called
}

Q1:为什么arrayOfA不是一个阵列IFoos

Q2:为什么我不能投arrayOfAIFoo[]

EN

Stack Overflow用户

发布于 2019-05-20 10:13:39

arrayOfA IFoo[]

你的程序肯定有其他问题。

您似乎已经模拟了一些代码来显示问题,但事实上您的代码(见下文)可以按预期工作。尝试使用真实代码更新此问题 - 或尽可能接近真实 - 我们可以再看看。

代码语言:javascript
复制
using System;
public class oink {
    public static void Main() {
        A[] aOa = new A[10];

        if (aOa is IFoo[]) { Console.WriteLine("aOa is IFoo[]"); }

    }
    public interface IFoo {}
    public class A : IFoo {}
}

PS D:\> csc test.cs
Microsoft (R) Visual C# 2008 Compiler version 3.5.30729.1
for Microsoft (R) .NET Framework version 3.5
Copyright (C) Microsoft Corporation. All rights reserved.

PS D:\> D:\test.exe
aOa is IFoo[]
PS D:\>
票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100001152

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档