c#在Int和string变量类型​​之间选择

时间:2014-08-01 10:32:22

标签: c#

我在想什么类型更适合保存航班号。

该数据是数字但我想知道是否更好地创建该属性,如字符串或int类型。

任何人都可以帮助我吗?

4 个答案:

答案 0 :(得分:1)

你打算用它们做任何算术运算吗?

如果不是......字符串!

答案 1 :(得分:1)

抱歉我的英文。

我重新命令你使用Int,因为你可以使用int数学计算,如果你想要你可以使用int变量并执行:

  

的ToString()

但是如果你要使用String变量并且想要进行数学计算,那么它将比你应该做的更难:

  

int.parse(string var)

答案 2 :(得分:0)

我使用int

您刚刚说过"数据是数字",而integer就是为此设计的。无需偏离设计用于什么类型的基础。

我想象一个唯一的标识符数学运算是无关紧要的,所以string就足够了,但考虑这些值如何与它们的数据库等价物(自动增量等)一起工作。此外,根据您计划将其映射到代码中的对象的方式,类型与数据库中的类型相同也不会造成伤害。

答案 3 :(得分:0)

选择正确的数据类型始终是易用性,存储效率,易维护性等方面的折衷。这是一个基于许多相互关联的因素的决定,有时候没有绝对正确的解决方案。


您应该考虑以下几点:

  1. 航班号的格式是什么?
  2. 它是由一些部分组成还是一个简单的值?
  3. 如何使用(应支持哪些操作)?
  4. 它会改变吗?
  5. 它是用于计算广泛的任务还是索引?

  6. 正如已经说过的那样,有太多的案例和情况要考虑,但如果你能回答至少那些问题那么你可以考虑或多或少地提出错误的建议:

    1. 如果它是一个复杂的值,如" ADF1398"然后Int不是一个选项 所有
    2. 如果它只是1290这样的数字,那么Int就是不错的解决方案。
    3. 如果您不确定它是什么,(或)它会改变,那么请使用您的 自己的自定义类型:

      public class FlightNumber : IComparable, ISerializable ...
      {
           // ...
           public static FlightNumber Parse(String strToParse);
           public override String ToString()
           {   // .... }    
      }
      
    4. 最后一个是最不严格的解决方案,可以轻松扩展或修改。