gpt4 book ai didi

.net - 如何在 .NET 中创建自己的原始数据类型?

转载 作者:行者123 更新时间:2023-12-04 22:02:37 25 4
gpt4 key购买 nike

我如何创建自己的原语?例如,范围为 1-10 的整数。

编辑:这来自 Rosetta Code 上的一项任务。

Defining Primitive Data Types: Demonstrate how to define a type that behaves like an integer but has a lowest valid value of 1 and a highest valid value of 10.



我在这里添加它是因为我认为它可能对其他人有用。

最佳答案

好吧,让我们来看看。首先,CLR 中内置了一些数据类型。这些不能修改或添加新的,因为它们是标准的一部分。您可以找到一个列表 herehere .那是 C#,但该列表也应该存在于 VB.net 的某处,并且看起来应该相同,因为底层 CLR 是相同的。此外,该列表不完整,因为缺少浮点数和字符,但您明白了。

但是,有一些结构封装了这些数据类型并添加了一些额外的功能。例如, System.Int32 只是一个普通的标准结构,不涉及魔法。随意在 Reflector 中查看它,它在 mscorlib 中:

[Serializable, StructLayout(LayoutKind.Sequential), ComVisible(true)]
public struct Int32 : IComparable, IFormattable, IConvertible, IComparable<int>, IEquatable<int>

所以你想要你自己的“1 到 10”整数?然后我建议查看最近的合适类型,即 Int16Byte .如果您查看它们,您会发现它们看起来都有些相似,但它们基于一种内置数据类型。

只是复制/粘贴和修改一些内置结构(即 System.Byte )并不能完全起作用,因为有些成员是内部的(即 NumberFormatInfo.ValidateParseStyleInteger ),但是 Reflector可以在这里提供帮助。

关于.net - 如何在 .NET 中创建自己的原始数据类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/393061/

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