আমার দুটি উদাহরণ রয়েছে IEnumerable<T>
(একই সাথে T
)। আমি একটি নতুন উদাহরণ চাই IEnumerable<T>
যার উভয় সংক্ষিপ্তকরণ।
.নাটকটিতে কোনও বিল্ট-ইন পদ্ধতি আছে নাকি তা আমাকে নিজে লিখতে হবে?
আমার দুটি উদাহরণ রয়েছে IEnumerable<T>
(একই সাথে T
)। আমি একটি নতুন উদাহরণ চাই IEnumerable<T>
যার উভয় সংক্ষিপ্তকরণ।
.নাটকটিতে কোনও বিল্ট-ইন পদ্ধতি আছে নাকি তা আমাকে নিজে লিখতে হবে?
উত্তর:
হ্যাঁ, লিংক টু অবজেক্টস এর সাথে সমর্থন করে Enumerable.Concat
:
var together = first.Concat(second);
নোট: উচিত first
বা second
শূন্য হওয়া আপনি একটি পাবেন ArgumentNullException
। এটি এড়াতে এবং নালগুলি যেমন আপনি খালি সেট হিসাবে ব্যবহার করে তেমন আচরণ করতে, নাল কোলেসিং অপারেটরটি এভাবে ব্যবহার করুন:
var together = (first ?? Enumerable.Empty<string>()).Concat(second ?? Enumerable.Empty<string>()); //amending `<string>` to the appropriate type
using System.Linq
আইডিই ইন্টেলিসেন্সে কাঙ্ক্ষিত এক্সটেনশন পদ্ধতিটি দেখতে কোড ফাইলের শীর্ষে নেমস্পেস আমদানি করা প্রয়োজন ।
Concat
পদ্ধতি একটি বস্তু যা কার্যকরী ফিরে আসবে IEnumerable<T>
একটি বস্তু ফিরে (এটা বিড়াল কল) যাদের গণনাকারী ব্যবহার করার প্রচেষ্টা করা হবে দুই পাশ-ইন গণনীয় আইটেম ক্রমানুসারে (তাদের A এবং B কল)। যদি পাস-ইন গুনে নম্বরগুলি ক্রমের প্রতিনিধিত্ব করে যা বিড়ালের জীবদ্দশায় পরিবর্তিত হবে না, এবং যা পার্শ্ব-প্রতিক্রিয়া ছাড়াই পাঠ করা যায়, তবে বিড়ালটি সরাসরি ব্যবহার করা যেতে পারে। অন্যথায়, এটি একটি ভাল ধারণা ডাকতে হতে পারে ToList()
উপর Cat
এবং তার ফলে ব্যবহার List<T>
(ক A এবং B বিষয়বস্তুর স্ন্যাপশট যা প্রতিনিধিত্ব হবে)।
কিছু গণনা শুরুর পরে একটি স্ন্যাপশট নেয়, এবং যদি গণনার সময় সংগ্রহটি সংশোধন করা হয় তবে সেই স্ন্যাপশট থেকে ডেটা ফেরত দেবে। বি যদি এমন একটি গণনীয় হয়, তবে বি এর কোনও পরিবর্তন যা বিড়ালের A এর শেষের আগে পৌঁছানোর আগে ঘটে তা বিড়ালের গণিতে প্রদর্শিত হবে, তবে তার পরে যে পরিবর্তনগুলি ঘটে তা তা গ্রহণ করবে না। এই জাতীয় শব্দার্থবিজ্ঞান সম্ভবত বিভ্রান্ত হতে পারে; ক্যাট এর স্ন্যাপশট নেওয়া এ জাতীয় সমস্যা এড়াতে পারে।
আপনার সমাধানের জন্য আপনি নীচের কোডটি ব্যবহার করতে পারেন: -
public void Linq94()
{
int[] numbersA = { 0, 2, 4, 5, 6, 8, 9 };
int[] numbersB = { 1, 3, 5, 7, 8 };
var allNumbers = numbersA.Concat(numbersB);
Console.WriteLine("All numbers from both arrays:");
foreach (var n in allNumbers)
{
Console.WriteLine(n);
}
}
// The answer that I was looking for when searching
public void Answer()
{
IEnumerable<YourClass> first = this.GetFirstIEnumerableList();
// Assign to empty list so we can use later
IEnumerable<YourClass> second = new List<YourClass>();
if (IwantToUseSecondList)
{
second = this.GetSecondIEnumerableList();
}
IEnumerable<SchemapassgruppData> concatedList = first.Concat(second);
}