Middle
რა უნდა გაკეთდეს, რათა შედაროთ ორი კოლექციის შინაარსი?
sobes.tech AI
პასუხი AI-სგან
کچھ طریقے موجود ہیں:
- عنصر بہ عنصر موازنہ ترتیب کے ساتھ۔ دونوں مجموعوں کو ترتیب دیں اور پھر عناصر کو انڈیکس کے مطابق موازنہ کریں۔
- LINQ کا استعمال کرتے ہوئے موازنہ۔
SequenceEqual: دونوں مجموعوں کے مواد کا عنصر بہ عنصر موازنہ، ترتیب کو مدنظر رکھتے ہوئے۔Intersect: دونوں مجموعوں میں مشترکہ عناصر تلاش کریں۔Except: ایسے عناصر تلاش کریں جو ایک مجموعہ میں موجود ہیں لیکن دوسرے میں نہیں۔Union: دونوں مجموعوں کے منفرد عناصر کو یکجا کریں۔
- HashSet کا استعمال۔ ایک مجموعہ کو
HashSetمیں تبدیل کریں تاکہ تیز تلاش اور موازنہ کیا جا سکے۔
منتخب کرنے کے لیے:
- عناصر کا ترتیب: کیا ترتیب اہم ہے؟
- کارکردگی: بڑے مجموعوں کے لیے، ہیش ٹیبلز یا ترتیب دینے کے طریقے زیادہ مؤثر ہو سکتے ہیں۔
- نقلیں: نقل شدہ عناصر کے ساتھ کیا کرنا ہے؟
LINQ SequenceEqual کا استعمال کی مثال:
using System.Collections.Generic;
using System.Linq;
// ...
List<int> list1 = new List<int> { 1, 2, 3 };
List<int> list2 = new List<int> { 1, 2, 3 };
List<int> list3 = new List<int> { 3, 2, 1 };
// ترتیب کو مدنظر رکھتے ہوئے مواد کا موازنہ
bool areEqualOrdered = list1.SequenceEqual(list2); // true
bool areEqualOrdered2 = list1.SequenceEqual(list3); // false
LINQ Intersect کا استعمال کی مثال:
using System.Collections.Generic;
using System.Linq;
// ...
List<int> list1 = new List<int> { 1, 2, 3, 4 };
List<int> list2 = new List<int> { 3, 4, 5, 6 };
// مشترکہ عناصر تلاش کریں
IEnumerable<int> commonElements = list1.Intersect(list2); // { 3, 4 }
HashSet کا استعمال کی مثال:
using System.Collections.Generic;
using System.Linq;
// ...
List<int> list1 = new List<int> { 1, 2, 3 };
List<int> list2 = new List<int> { 3, 1, 2 };
// تیز تلاش کے لیے ایک مجموعہ سے HashSet بنائیں
HashSet<int> set1 = new HashSet<int>(list1);
// چیک کریں کہ دوسری مجموعہ کے تمام عناصر پہلی مجموعہ میں موجود ہیں
bool containsAll = list2.All(item => set1.Contains(item)); // true
// اضافی چیک کہ دونوں مجموعے منفرد عناصر کی ایک جیسی تعداد رکھتے ہیں
if (containsAll && set1.Count == list2.Distinct().Count())
{
// مجموعے ایک ہی عناصر پر مشتمل ہیں، ترتیب کو نظر انداز کرتے ہوئے
}