很新于Flutter和Dart,所以请原谅我表达不清的问题。
这是我拥有的通用代码:
这是我拥有的通用代码:
// Constructor class
class ctr {
String i;
ctr(String a){
this.a = a;
}
// New variables based on contsructor
var ctrA = ctr('a');
var ctrB = ctr('b');
var ctrC = ctr('c');
// Storing the variables based on constructor in an array
List ctrList = [ctrA, ctrB, ctrC]
void main() {
String match = 'ctrB';
for (var i = 0; i<ctrList.length; i++) {
if(match == ctrList.toString() {
print('The string of your match is ${ctrList[i].a}');
} else {
print('Error!);
}
}
}
当前输出为 Error!
。相反,我想要的是 a
。
正如您所看到的,我正在尝试将变量 match
迭代到存储基于前面提到的构造函数的变量的数组中,如果匹配,则打印出它所匹配的构造函数中的值。runtimeType
只能让我得到原始类的名称(将是 ctr
)。
我尝试使用 toString()
来转换变量名,但也没有成功。我需要一种方法来将这些变量名转换为字符串并进行匹配,但我不确定该怎么做。
先感谢您的帮助!