c# - 多种数据类型的列表?

标签 c# class list

我有两个类:

public class MachineLine
{
    public double X1;
    public double Y1;
    public double X2;
    public double Y2;
    public double Thickness;
}

public class MachineCircle
{
    public double CenterX;
    public double CenterY;
    public double Radius;
}

我想制作一个可以包含这两种数据的列表,但我不希望我的列表可以包含任何其他数据类型。如何做到这一点?

最佳答案

最简单的方法是声明一个接口(interface),并让两种类型都实现它:

public interface IMachine { … }

public class MachineLine : IMachine
{
    public double X1;
    public double Y1;
    public double X2;
    public double Y2;
    public double Thickness;
}

public class MachineCircle : IMachine
{
    public double CenterX;
    public double CenterY;
    public double Radius;
}

然后你可以这样做:

List<IMachine> m = new List<IMachine>();

关于c# - 多种数据类型的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4343336/

相关文章:

c# - 在 C# 中的每个面向对象的接口(interface)上重新定义相同的枚举

c# - 如何在构建使用包的 C# 代码期间从 NuGet 包复制文本文件?

flutter - 将字符串传递给 Flutter 中的类?

python - 以两种方式遍历列表但无法理解行为

c# - 当其他可观察值为 true 时,从可观察值中获取项目

c# - 创建 DPI 感知应用程序

class - 可以在 C# 中的函数内部使用类吗

class - 'all children' 的最佳 css 选择器是什么?

python-3.x - 如何在 Pandas df 列中分配列表值?

F# 中的列表理解与高阶函数