আপনি যদি একটি কাস্ট করতে পারেন List<int>
থেকে List<string>
একরকম?
আমি জানি আমি জিনিসটি লুফে নিতে পারি এবং .ToString () করতে পারি, তবে একটি কাস্ট দুর্দান্ত হবে।
আমি সি # ২.০ এ আছি (সুতরাং লিংক নেই )।
আপনি যদি একটি কাস্ট করতে পারেন List<int>
থেকে List<string>
একরকম?
আমি জানি আমি জিনিসটি লুফে নিতে পারি এবং .ToString () করতে পারি, তবে একটি কাস্ট দুর্দান্ত হবে।
আমি সি # ২.০ এ আছি (সুতরাং লিংক নেই )।
উত্তর:
.NET 2.0 এর ConvertAll
পদ্ধতি রয়েছে যেখানে আপনি একটি রূপান্তরকারী কার্যক্রমে যেতে পারেন:
List<int> l1 = new List<int>(new int[] { 1, 2, 3 } );
List<string> l2 = l1.ConvertAll<string>(delegate(int i) { return i.ToString(); });
২০১০-র জন্য আপডেট হয়েছে
List<int> l1 = new List<int>(new int[] { 1,2,3 } );
List<string> l2 = l1.ConvertAll<string>(x => x.ToString());
x => x.ToString()
একই ধরণের আইএল হিসাবে সংকলিত হয়েছে তত delegate(int x) { return x.ToString(); }
গুরুত্বপূর্ণ বিষয়টি হল একটি সি # সংকলক (সি # সংস্করণ) যা জানেন তা =>
। ফ্রেমওয়ার্ক এবং রানটাইম (। নেট সংস্করণ) এর জন্য কোনও বিশেষ বৈশিষ্ট্যের প্রয়োজন নেই, সুতরাং নেট নেট 2.0 এখানে ভাল fine
<string>
তা সরিয়ে দেয় এবং এটি এখনও কার্যকর হয়। এটি কেবল তৈরি করা হচ্ছেl1.ConvertAll(x => x.ToString());
সি # 2.0 কি সক্ষম List<T>.Convert
? যদি তা হয়, তবে আমি মনে করি আপনার সেরা অনুমান একটি প্রতিনিধি সহ এটি ব্যবহার করা হবে:
List<int> list = new List<int>();
list.Add(1);
list.Add(2);
list.Add(3);
list.Convert(delegate (int i) { return i.ToString(); });
এই লাইন বরাবর কিছু।
গ্লেনের উত্তরকে উপভোগ করুন যা সম্ভবত সঠিক কোড ;-)
আপনি সক্ষম সরাসরি নিক্ষেপ কোন স্পষ্ট বা অন্তর্নিহিত ঢালাই স্ট্রিং int- এ থেকে বিদ্যমান হবে না, এটা হবে আছে .ToString () যেমন জড়িত একটি পদ্ধতি: -
foreach (int i in intList) stringList.Add(i.ToString());
সম্পাদনা করুন - বা অন্যরা যেমন উজ্জ্বলতার সাথে ইঙ্গিত করেছে, তেমনই ব্যবহার করুন INList.ConvertAll (প্রতিনিধি (int i) {রিটার্ন i.ToString ();}); তবে পরিষ্কারভাবে আপনাকে এখনও ব্যবহার করতে হবে। একটি নিক্ষেপ
int
পরোক্ষভাবে বা স্পষ্টভাবে পরিবর্তনীয় ছিল string
, তার মানে এই নয় যে List<int>
একটি অন্তর্নিহিত বা স্পষ্ট রূপান্তর হয়েছে List<string>
।
আপনাকে একটি নতুন তালিকা তৈরি করতে হবে। অন্তর্নিহিত বিট উপস্থাপনাগুলি List<int>
এবং List<string>
সম্পূর্ণ বেমানান - একটি 64-বিট প্ল্যাটফর্মে, উদাহরণস্বরূপ, পৃথক সদস্যরা এমনকি একই আকারের নয়।
তাত্ত্বিকভাবে এটির List<string>
মতো আচরণ করা সম্ভব List<object>
- এটি আপনাকে সমবায়িকতা এবং বৈপরীত্যের আকর্ষণীয় বিশ্বে স্থান দেয় এবং বর্তমানে সি # বা ভিবি.এনইটি সমর্থন করে না।
result = listOfInt.Select(i => i.ToString(CultureInfo.InvariantCulture)).ToList()
পরামিতিগুলির ফলাফলগুলি প্রতিস্থাপন করুন এবং আপনার পরামিতিগুলিতে তালিকাভুক্ত করুন
ইনট লিস্ট থেকে স্ট্রিং লিস্টে রূপান্তরকরণ সাধারণ টোস্ট্রিং () ছাড়াও দুটি প্রশংসনীয় উপায়ে করা যেতে পারে। আপনাকে আরও সন্তুষ্ট করে এমন একটি চয়ন করুন।
var stringlist = intlist.Select(x=>""+x).ToList();
বা এছাড়াও:
var stringlist = intlist.Select(x=>$"{x}").ToList();
এবং পরিশেষে সনাতন:
var stringlist = intlist.Select(x=>x.ToString()).ToList();