我是编程新手,正在学习 Dart 课程。我正在尝试构建一个待办事项列表控制台程序,并使用地图作为待办事项列表。我正在尝试弄清楚如何自动分配键,以便当我删除一个条目时,后面的键会相应更改(例如,删除第二个条目并将前一个第三个条目的键更改为 2,依此类推)。
我该如何处理呢?
这是我迄今为止添加条目的代码:
int taskId = toDoList.length;
case 'c' :
userInput = null;
print('Enter name of new adventure');
print('');
if (taskId >= toDoList.length) {
++taskId;
}
String task = stdin.readLineSync()!;
toDoList[taskId] = task;
print('Quest added!');
for (final allPrint in mainMenu.entries) {
print('${allPrint.key}: ${allPrint.value}');
} ;
这是我删除条目的代码:
case 'b' :
userInput = null;
if (toDoList.length < 1) {
print('No quests available to complete!');
for (final allPrint in mainMenu.entries) {
print('${allPrint.key}: ${allPrint.value}');
};
} else{
print('Which good fortune have you brought from your adventures?');
print('Which task have you completed?');
print('');
for (final allPrint in toDoList.entries) {
print('${allPrint.key}: ${allPrint.value}');
}
print('');
print('');
int? idDelete = int.tryParse(stdin.readLineSync() ?? '');
if (toDoList.containsKey(idDelete)) {
toDoList.remove(idDelete);
print('Good Job!');
for (final allPrint in mainMenu.entries) {
print('${allPrint.key}: ${allPrint.value}');
} ;
}
}