【发布时间】:2019-02-15 19:47:36
【问题描述】:
我正在解决一个问题。我有一个检测到的数据类型(“int”、“double”、“string”、“bool”、“datetime”、“timespan”、“datetimeoffset”)的list<string>。
现在我需要选择一种类似于“默认”的数据类型,它将用于数组中的所有值。如何创建(理论上)设置适当数据类型的逻辑?
例如,如果检测到至少一个字符串,默认数据类型将被定义为字符串,因为这种类型也可以“存储”其他数据类型,例如布尔或日期。
名字
【问题讨论】:
-
欢迎来到 Stack Overflow。我不清楚您是在寻求帮助以制定要应用的正确规则,还是实施这些规则。无论哪种方式,我们都需要更多信息……例如,是什么阻止您总是使用字符串?你有什么标准?
-
使用列表
-
对此没有单一的正确答案,因为这完全取决于您实际想要达到的目标。一般来说,猜测数据类型,或尝试选择“最通用的类型,但不是太通用”不可避免地会在某个地方以某种方式导致错误。你处理这些错误的策略是什么,为什么你不总是应用它而不是一开始就猜测?谁或什么在使用数组,他们需要什么?
-
我试图找到一种方法来检测最可能的数据类型。当您插入一个值程序时,类似于 Excel 中的东西会决定它是一个字符串、一个数值还是一个日期......
-
Excel 实际上有点糟糕(尽管这不是它的错)。例如,当它无法将“2018-01-01”视为日期时,我一直很生气,因为系统使用了不同的语言环境。或者当它必须猜测“01-02-2018”是一月还是二月时,猜错了。不要让我开始使用小数分隔符——不,“12,34”不是“12,340”。
0, 1, 0, 0, 0是bool的列表还是int的列表?你想让我写false, true, false, false, false吗?幸运的是 Excel 允许我覆盖格式...