IEnumerable<Book> _Book_IE
List<Book> _Book_List
আমি কিভাবে রূপান্তর করতে অনুক্রমে করব _Book_List
মধ্যে IEnumerable
বিন্যাস?
IEnumerable<Book> _Book_IE
List<Book> _Book_List
আমি কিভাবে রূপান্তর করতে অনুক্রমে করব _Book_List
মধ্যে IEnumerable
বিন্যাস?
উত্তর:
আপনার এটি রূপান্তর করার দরকার নেই। ইন্টারফেস List<T>
প্রয়োগ করে IEnumerable<T>
তাই এটি ইতিমধ্যে একটি গণনাকারী।
এর অর্থ হ'ল নিম্নলিখিতটি রাখা ভাল is
public IEnumerable<Book> GetBooks()
{
List<Book> books = FetchEmFromSomewhere();
return books;
}
পাশাপাশি:
public void ProcessBooks(IEnumerable<Book> books)
{
// do something with those books
}
যা আহবান করা যেতে পারে:
List<Book> books = FetchEmFromSomewhere();
ProcessBooks(books);
আপনি এসেম্বলি সিস্টেম.কোর এবং সিস্টেমটিতে লভ্য নামকরণের স্থানটি অসমর্থনীয় এক্সটেনশন পদ্ধতিটি ব্যবহার করতে পারেন:
List<Book> list = new List<Book>();
return list.AsEnumerable();
এটি, এমএসডিএন লিঙ্কে যেমন বলা হয়েছে তা সংকলন-সময়ে তালিকার ধরণের পরিবর্তন করবে। এটি কেবলমাত্র আমাদের প্রয়োজনীয় সংগ্রহগুলি গণনা করার জন্য আপনাকে সুবিধা দেবে (এর জন্য এমএসডিএন উদাহরণ দেখুন)।
কেন একটি একক লাইনার ব্যবহার করবেন না ...
IEnumerable<Book> _Book_IE= _Book_List as IEnumerable<Book>;
যতদূর আমি জানি List<T>
সরঞ্জামগুলি IEnumerable<T>
। এর অর্থ হ'ল আপনাকে কোনও কিছু রূপান্তর বা কাস্ট করতে হবে না।
IEnumerable<IList<obj>>
একটি থেকে IEnumerable<IEnumerable<obj>>
এরপর থেকে এটি দ্বিতীয় প্রথম এক থেকে উত্তরাধিকারী নেই কম্পাইলার ত্রুটি দেয়।
IEnumerable<Book> _Book_IE;
List<Book> _Book_List;
যদি এটি জেনেরিক বৈকল্পিক হয়:
_Book_IE = _Book_List;
আপনি যদি নন-জেনেরিককে রূপান্তর করতে চান:
IEnumerable ie = (IEnumerable)_Book_List;