जिज्ञासा से और कुछ शोध के बाद मुझे मेरे जैसा मामला नहीं मिला,

विधि .toList() और कास्टिंग as List का उपयोग करने में क्या अंतर है और प्रत्येक का उपयोग कब किया जाना चाहिए?

कृपया, एक उदाहरण प्रदान करने पर विचार करें।

0
Mehdi Rezzag Hebla 13 जुलाई 2020, 17:41

1 उत्तर

सबसे बढ़िया उत्तर

toList() एक ऐसी विधि है जिसे कई प्रकार की वस्तुओं पर बुलाया जाता है और यह डेटा स्ट्रीम (या मौजूदा List) से सभी डेटा एकत्र करेगी और डेटा युक्त एक नई सूची ऑब्जेक्ट बनाएगी।

as List किसी दिए गए ऑब्जेक्ट को बताने का एक तरीका है (अक्सर dynamic) वास्तव में रनटाइम पर एक List ऑब्जेक्ट है। इसका उपयोग तब किया जाता है जब हम संकलन प्रकार पर प्रकार निर्धारित नहीं कर सकते (उदाहरण के लिए यदि JSON को पार्स करना)।

उदाहरण

हम कुछ JSON को डिकोड करते हैं और डार्ट को बताते हैं कि as List का उपयोग करके हम गारंटी दे सकते हैं कि रनटाइम का प्रकार List होगा।

import 'dart:convert';

void main() {
  final list = json.decode('[1, 2, 3]') as List;
  print(list); // [1, 2, 3]

  final newList = list.cast<int>().map((e) => e * 2).toList();
  print(newList); // [2, 4, 6]
}

फिर हम प्रत्येक मान को दोगुना करने के लिए .map का उपयोग करते हैं और toList() का उपयोग करके इसे एक नई सूची में बदलना चाहते हैं।

1
julemand101 13 जुलाई 2020, 17:50