gpt4 book ai didi

c# - 在没有枚举的情况下在 C# 中实现自己的数据类型?

转载 作者:行者123 更新时间:2023-11-28 02:41:01 25 4
gpt4 key购买 nike

内置数据类型和用户定义数据类型的主要区别在于:内置数据类型可以接受文字值(直接插入代码的值,这个过程也称为硬编码)。

那么是否可以创建与接受三个值的 bool 值相同的自定义数据类型:是/否/可能不使用枚举。

比如下面的代码:

MyCustomBoolean a = maybe;

我问上面的问题是因为我想了解 C# 中的内置数据类型是否在核心语言中指示(例如 C++ int、char...)?

---更新---

对于第二个问题,让我问一个问题,使第二个问题更清楚:

我知道例如 string 是 System.String 的别名,但是 C# 中的纯字符串在没有 System.String 的情况下也能工作吗?

最佳答案

没有办法完全按照您的要求执行此操作。但是,您可以创建 constant fields在 C# 中可以实现此结果(命名值),但只能使用 integral types或字符串 - 换句话说,您已经可以用于编译时常量的东西。这对于否则特别有用 Magic Values .

public const string Maybe = "Maybe";
public const int Maybe = 0;

解决这个问题的一种方法是初始化静态 readonly,尽管它不能用作真正的常量。字段或属性。例如

public static readonly MyCustomBoolean Maybe { get { return new MycustomBoolean(); } }
public static MyCustomBoolean Maybe = new MyCustomBoolean();

关于c# - 在没有枚举的情况下在 C# 中实现自己的数据类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26002198/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com