【问题标题】:How to create a class for primitive data types [closed]如何为原始数据类型创建一个类 [关闭]
【发布时间】:2013-01-01 01:06:12
【问题描述】:

所以我想知道创建一个可以保存原始数据类型的类的最佳方法是什么?我想要一个基本上可以保存任何数据类型的类,比如当我使用构造函数创建类时,我可以将其设为浮点数、双精度数或整数、无符号或有符号。另外,您将如何添加或减去双精度和浮点数?

我也在寻找广泛的答案,因为不是特定于一种编程语言,除了 c#。

编辑:很难描述我在这里的意思。基本上,我想要的是某种方式,在给定某些信息的情况下,我可以创建自己的原始数据类型。例如,如果需要,我可以创建一个 7 字节的 unsigned int,然后将其添加到我创建的无符号浮点数中。另外我希望这些都是同一个类,这样当添加两个类时,我不需要为每种类型的类添加一个方法。

【问题讨论】:

  • object 有什么问题?
  • 您的意思完全不清楚,这里也不会有任何与语言无关的答案——它将是非常特定于语言的。
  • 您创建的任何类都已经具备保存原始数据类型的能力,因此也许您可以进一步解释您正在尝试做什么。
  • 听起来您想使用仅限于基元的泛型。

标签: language-agnostic primitive


【解决方案1】:

我不能 100% 确定您在问什么,但我认为您正在寻找的是 Generics

从那个链接:

// Declare the generic class.
public class GenericList<T>
{
    void Add(T input) { }
}
class TestGenericList
{
    private class ExampleClass { }
    static void Main()
    {
        // Declare a list of type int.
        GenericList<int> list1 = new GenericList<int>();

        // Declare a list of type string.
        GenericList<string> list2 = new GenericList<string>();

        // Declare a list of type ExampleClass.
        GenericList<ExampleClass> list3 = new GenericList<ExampleClass>();
    }
}

【讨论】:

  • 这迫使你在编译时决定类型
  • “当我使用构造函数创建类时,我可以将其设为浮点数、双数” - 听起来这就是 OP 想要的。
  • @DavidHeffernan - 从问题中不清楚这实际上是一个问题。
  • @Bobson 这个问题不清楚。我在答案中添加了一个骑手。答案中未明确说明的一些额外信息。
猜你喜欢
  • 2011-07-01
  • 2017-07-08
  • 1970-01-01
  • 2011-10-13
  • 2018-08-30
  • 2016-06-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多