在这些教程中,您将学习如何在dart和flutter编程中把枚举转换成int或int转换成枚举。

Convert Enum to number vice versain  Dart and flutter example Enum是一个自定义的类类型,用于存储常量值。这些值可以是字符串或数字。Int是Dart或flutter中预定义的类型,用于保存数值。

由于数据类型的不同,自动转换是不可能的。

让我们在Dart或Flutter中声明Enum常量

enum Day { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY }
main() {
  print(Day.MONDAY.toString()); //Day.MONDAY
  print(Day.MONDAY.index); // zero

正如你所看到的,Dart中的Enum支持简单的常量,不与任何自定义的数字映射,但默认的索引是从0开始分配的。

您也可以在Flutter编程中做同样的事情。

如何将Dart中的Enum转换为int?

因为Enum是按照声明的顺序分配索引的。

enum Day { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY }
main() {
  var number = Day.THURSDAY.index;
  print(number); // 3
  print(number.runtimeType); // int
  print(Day.MONDAY.runtimeType); // Day

Enumindex 返回Enum值的顺序索引的整数值。Day.THURSDAY.index 返回int值,即3。

如何在Dart中把int转换为Enum?

有时,我们有一个整数的数字值,需要转换为Enum类型。

在这种情况下,Enum.values返回List 。因此,你必须使用list[number]语法将数字传递给列表,以获得Enum类型。

下面是一个example for parse Int to Enum in dart and flutter programming :

enum Day { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY }
main() {
  var number = Day.THURSDAY.index;
  var day = Day.values[number];
  print(Day.MONDAY.toString());
  print(number); // 3
  print(number.runtimeType); // int
  print(Day.values); // [Day.MONDAY, Day.TUESDAY, Day.WEDNESDAY, Day.THURSDAY, Day.FRIDAY, Day.SATURDAY, Day.SUNDAY]
  print(day); // Day.THURSDAY
  print(day.runtimeType); // Day

不像其他编程语言,Dart只支持普通的常量,没有给它分配数值,在内部它有索引属性,并返回枚举值的顺序。

了解了如何在Dart或Flutter编程中使用索引和带索引的列表方法将Enum转换为Int或反之亦然。

  • 私信
    21,948