Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Class dart:对于语法大师,如何在嵌套类中交换子树_Class_Dictionary_Dart_Syntax_Nested - Fatal编程技术网

Class dart:对于语法大师,如何在嵌套类中交换子树

Class dart:对于语法大师,如何在嵌套类中交换子树,class,dictionary,dart,syntax,nested,Class,Dictionary,Dart,Syntax,Nested,我知道如何将列表中的单个元素整齐地替换为 myDataList=myDataList.map((数据项){ 返回dataItem.id==event.id? event.dataupdateItem : 数据项; }).toList(); 在我的例子中,dataItem是一个嵌套类,类似于List person,我只想更新person.id==event.id的person.address。我的event.dataupdateItem类型为Address,而event.id指向person.

我知道如何将列表中的单个元素整齐地替换为

myDataList=myDataList.map((数据项){
返回dataItem.id==event.id?
event.dataupdateItem
: 
数据项;
}).toList();
在我的例子中,dataItem是一个嵌套类,类似于
List person
,我只想更新
person.id==event.id
person.address
。我的
event.dataupdateItem
类型为
Address
,而
event.id
指向
person.id


你们经常给我一些脑筋急转弯,用你们漂亮的表情把一页代码压缩成两行代码。在类周围有一个包装列表,保存要更新的嵌套类,这也可能吗

我假设你有办法用新地址创建一个新人,那么让我们假设这是一个新地址

person=[for(var p亲自)
如果(p.id==event.id)p.rebuild((b)=>b..address=event.dataupdateItem)
否则p];
如果可以直接更新
个人地址
,则无需替换整个列表,因此:

person.firstWhere((p)=>p.id==event.id).address=event.dataupdateItem;

您甚至将其压缩为一行。后者是我的用例。当我看到它的时候,它看起来很简单——慢慢地,我进入了这样的状态:-)