स्पंदन: सूची पदावनत है?

Dec 14 2020

स्पंदन के नवीनतम संस्करण में अपग्रेड करने के बाद, मुझे अपनी सभी सूचियों के लिए एक पदावनति चेतावनी मिलती है।

List<MyClass> _files = List<MyClass>();
=>'List' is deprecated and shouldn't be used.

दुर्भाग्य से, यह संकेत नहीं देता है कि इसे किसके साथ बदलना है। तो अब हम इसके बजाय क्या उपयोग करने वाले हैं?

  • डार्ट SDK संस्करण: 2.12.0-141.0.dev
  • स्पंदन: चैनल मास्टर, 1.25.0-9.0.pre.42

जवाब

38 Chris Dec 13 2020 at 23:34

ठीक है, यह पाया गया कि यह कैसे तुरंत इसे करने के लिए है:

List<MyClass> _files = [];

संपादित करें : शायद सबसे आम, डॉक्स के अनुसार थोड़ा अधिक विस्तृत :

आकार 0 की निश्चित-लंबाई सूची

List<MyClass> _list = List<MyClass>.empty();

बढ़ने योग्य सूची

List<MyClass> _list = [];
//or
List<MyClass> _list = List<MyClass>.empty(growable: true);

पूर्वनिर्धारित भराव के साथ निश्चित लंबाई

int length = 3;
String fill = "test";
List<String> _list =  List<String>.filled(length ,fill , growable: true);
// => ["test", "test", "test"]

उत्पन्न समारोह के साथ सूची

int length = 3;
MyClass myFun(int idx) => MyClass(id: idx);
List<MyClass> _list = List.generate(length, myFun, growable: true); 
// => [Instance of 'MyClass', Instance of 'MyClass', Instance of 'MyClass']
SerdarPolat Feb 09 2021 at 01:25
List<MyClass> myList = <MyClass>[];
Cybergigz Feb 13 2021 at 15:09

से:

_todoList = new List();

में बदलो:

_todoList = [];