لحساب الفروق بين القيمتين الموجودتين في القواميس، يمكنك استخدام الكود التالي في C#:
csharpusing System;
using System.Collections.Generic;
class Program
{
static void Main()
{
Dictionary<int, int> a = new Dictionary<int, int>();
Dictionary<int, int> b = new Dictionary<int, int>();
a.Add(1, 1);
a.Add(2, 2);
a.Add(3, 3);
b.Add(1, 1);
b.Add(2, 2);
Dictionary<int, int> difference = new Dictionary<int, int>();
// Find keys in a that are not in b
foreach (var kvp in a)
{
if (!b.ContainsKey(kvp.Key))
{
difference.Add(kvp.Key, kvp.Value);
}
}
// Find keys in b that are not in a
foreach (var kvp in b)
{
if (!a.ContainsKey(kvp.Key))
{
difference.Add(kvp.Key, kvp.Value);
}
}
// Output the difference
foreach (var kvp in difference)
{
Console.WriteLine($"Key: {kvp.Key}, Value: {kvp.Value}");
}
}
}
هذا الكود يستخدم حلقتين foreach لفحص كل قيمة في القاموس a
و b
بحثاً عن الفروق. إذا كانت القيمة غير موجودة في أحد القواميس، يتم إضافتها إلى القاموس difference
الذي يمثل الفروق النهائية بين القواميس.
سيتم طباعة الفروق في نهاية الكود.
المزيد من المعلومات
بالتأكيد! إليك بعض المعلومات الإضافية حول الحلقتين foreach
:
-
Foreach على القواميس (Dictionaries):
- في الحلقة
foreach
، يتم تحليل القاموسa
وb
عن طريق العناصر الرئيسية (KeyValuePair
)، حيث يتم تمثيل كل مفتاح (Key
) وقيمته (Value
) في القاموس. - يتم استخدام
ContainsKey
للتحقق مما إذا كان المفتاح موجودًا في القاموس الآخر أم لا.
- في الحلقة
-
القاموس
difference
:- يستخدم القاموس
difference
لتخزين الفروق بين القواميسa
وb
. - في حلقتي
foreach
، إذا كان المفتاح غير موجود في القاموس الآخر، يتم إضافته إلى القاموسdifference
مع قيمته المقابلة.
- يستخدم القاموس
-
إخراج الفروق:
- في نهاية الكود، يتم طباعة الفروق بين القواميس
a
وb
باستخدام حلقةforeach
أخرى. - لكل مفتاح وقيمته في القاموس
difference
، يتم طباعة “Key: ” تليها قيمة المفتاح، وبعدها “Value: ” تليها قيمة المفتاح في القاموس الأصلي.
- في نهاية الكود، يتم طباعة الفروق بين القواميس
هذا الكود يوضح كيفية استخدام الحلقات foreach
لمقارنة العناصر بين القواميس واستخراج الفروق بينها.
الوسوم
C# حلقة FOREACH فروق قواميس