قواعد المشاركة في المنتدى

(منتدى الدعم الفني للماسنجر المحيط العربي) الموضوع:علاج السحر بالقرأن الشيخ الروحاني 00971504574121 بواسطة: (ام وعد) :: (منتدى برمجة الشبكات في بيئة الدوت نت) الموضوع:جلب الزج للجماع والحنس والقبولوالطاعة العمياء بواسطة: (ام وعد) :: (أخبار التكنولوجيا) الموضوع:علاج السحر والمس والعين بواسطة: (ام وعد) :: (قسم الجوال) الموضوع:برنامج يوتيوب بلس للايفون بواسطة: (aseam10) :: (لغة PHP) الموضوع:جلب الحبيب للزواج في ساعة بواسطة: (ام وعد) :: (منتدى برمجة الشبكات في بيئة الدوت نت) الموضوع:احسن شيخ روحاني لجلب الحبيب 00201270647597 بواسطة: (خطاب العدوى) :: (أخبار التكنولوجيا) الموضوع:احسن شيخ روحاني لجلب الحبيب 00201270647597 بواسطة: (خطاب العدوى) :: (قسم الاعلانات) الموضوع:شركة ركن النور لخدمات تنظيف بعسير بواسطة: (sayedseed) :: (قسم الاعلانات) الموضوع:نظام الحضور والانصراف كونفوى بالبصمة و الكارت CB3000 بواسطة: (mootazserry) :: (قسم الاعلانات) الموضوع:شركة المثالي كلين لخدمات تسليك المجاري بالشرقية بواسطة: (sayedseed) :: (قسم الاعلانات) الموضوع:شركه تنظيف خزانات بالرياض بواسطة: (نا ريمان) :: (قسم الاعلانات) الموضوع:موجات تصحيحية بواسطة: (spaspa) :: (قسم الاعلانات) الموضوع:شركة تصنيع يونيفورم حضانات 01003358542 بواسطة: (joyjojo288) :: (قسم الاعلانات) الموضوع:حل المشاكل الزواجية والنفسية بواسطة: (ام وعد) :: (قسم الاعلانات) الموضوع:عبايات حفلات التخرج 01118689995 بواسطة: (joyjojo288) :: (قسم الاعلانات) الموضوع:وحدة حمام ، الاسعار تبدا من 2250 جنيه 01275599927 بواسطة: (تهاني سام) :: (قسم الاعلانات) الموضوع:افضل يونيفورم مصانع شركة 3A لليونيفورم 01003358542 بواسطة: (joyjojo288) :: (قسم الاعلانات) الموضوع:مصنع ملابس جاهزة شركة 3A لليونيفورم 01003358542 بواسطة: (joyjojo288) :: (قسم الدعم الفني) الموضوع:لمنع الزوج من الخيانة الزوجية والعلاقات الجنسية الشيخ محمد البحيري بواسطة: (ام وعد) :: (قسم الاعلانات) الموضوع:شركة تنظيف مفروشات بالدمام باقل الاسعار الجوهرة كلين بواسطة: (المسوقة)


راديو القرآن

المواضيع المثبته: (منتدى Microsoft SQL Server) الموضوع:كتب SQL server بواسطة: (m.atassi) :: (منتدى مبرمجي ASP) الموضوع:شرح كود موقع شؤون الموظفين النسخة الأولى بواسطة: (alanees) :: (منتدى مبرمجي ASP) الموضوع:كتاب مكون من 16 جزاء يتكلم عن asp بواسطة: (amricost) :: (منتدى ADO.NET العام) الموضوع:البدء مع ADO.NET بواسطة: (HnHn) :: (منتدى مبرمجي ASP) الموضوع:مشروع university للجامعات بواسطة: (عبدالله جابر شقليه) :: (Oracle قسم قواعد البيانات أوراكل) الموضوع:جمل استعلام بواسطة: (وليد القدسي) :: (Oracle قسم قواعد البيانات أوراكل) الموضوع:يجب المرور هنا للأهمية بواسطة: (وليد القدسي) :: (Oracle قسم قواعد البيانات أوراكل) الموضوع:Oracle Online Documentation .. best resource of Info about Oracle بواسطة: (adnan_som) :: (منتدى Borland Delphi) الموضوع:دورة تعليمية في تصميم دليل هاتف في دلفي بواسطة: (مهند عبادي) :: (القسم المفتوح) الموضوع:نصيحة لوجه الله بواسطة: (غزاوية أصيلة) :: (منتدى Microsoft Visual Basic) الموضوع:بنك اكواد المحيط العربي بواسطة: (محمد جمعة) :: (منتدى Microsoft SQL Server) الموضوع:تابعوا دروس sql2000 بواسطة: (dody) :: (منتدى الكتب الالكترونية) الموضوع:كتاب كامل من جزئين يشرح access وبالتفصيل وقواعد البيانات وبالتفصيل بواسطة: (m.i.a.r) :: (قسم الدروس و الدورات) الموضوع:لتحميل مجموعة امثله على الفيجوال بيسيك دوت نت 2005 بواسطة: (HnHn) :: (قسم المواضيع المميزة) الموضوع:المحاسب المميز - الاصدار الثاني - محاسبة و مخازن بواسطة: (alalal) :: (منتدى مبرمجي ASP.NET) الموضوع:كيفية عرض المنتديات والأقسام والمواضيع بواسطة: (عبدالله جابر شقليه) :: (منتدى برمجة الجرافكس) الموضوع:الجزء الثانى من دروس تعلم GDI بواسطة: (alaa gomaa) :: (منتدى الأكسس) الموضوع:الوصل الي المساعده بشكل سريع وتحميل المرفقات الى المنتدي بواسطة: (startnet) :: (منتدى مبرمجي Microsoft Visual C#.NET) الموضوع:Serial Communication with Csharp بواسطة: (Prof.Mendl) :: (منتدى برمجة الشبكات في بيئة الدوت نت) الموضوع:عمل برنامج بسيط مع قاعدة بيانات اكسس على شبكة محلية بواسطة: (allnsh 3)

إضافة رد إضافة موضوع جديد

> إستخدام BinarySearch مع Custom Object
Bookmark and Share
تقييم الموضوع Label معدل التقيم:0
مشاركةالسبت,09/ذو القعدة/1431 هـ,04:27 مساءً
المشاركة #1

المراقب العام
Joseph
الرتبة في المنتدى:عماد



المجموعة: الإدارة
المشاركات: 2897
سجل في:الاثنين,26/ربيع الأول/1427 هـ,07:49 صباحاً
الدولة:الأردن
رقم العضوية: 10102



سأوضح في هذا الموضوع كيفية إستخدام BinarySearch مع Custom objects.
في البداية سنعرف BinarySearch Method و استخداماتها :

BinarySearch Method

Binary Search هي algorithm معروفه للبحث و يمكننا استخدم دالة جاهزة مع الدوت نت مثل الـ One-dimensional Array و ArrayList و Generic Collections.

هناك اكثر من overload لهذه الميثود من أهمها

BinarySearch<T>(T[], T)


و

BinarySearch(Array, Object)



في مثالنا سنستخدم الOverload الاول الذي يستخدم IComparable<T> generic interface.

قبل أن أبدأ بالبحث بين ال Object سارفق مثال بسيط توضيحي لكيفية عمل هذه الميثود مع array of string

static void Main(string[] args)
        {
            string[] persons = { "Ahmad", "Yaser", "Belal" };
            Array.Sort(persons);
            //After sort will be { "Ahmad", "Belal", "Yaser" }
            int index = Array.BinarySearch(persons, "Yaser");

            if (index < 0)
            {
                Console.Write("Not found. ");
            }
            else
            {
                Console.WriteLine("Found at index {0}.", index);
            }
        }



نبدأ مثالنا بالخطوات التالية :
1- ننشأ الكلاس التالي:

public class Person
    {

        #region Constructor
        public Person(string first, string last)
        {
            FirstName = first;
            LastName = last;
        }
        #endregion 
        #region Properties
        public string  FirstName{set;get;}
        public string LastName { set; get; }        
        public string FullName
        {
            get
            {
                return FirstName + " " + LastName;
            }
        }
        #endregion 
    }


2- نعمل implement ل IComparable<T> generic interface.

الBinarySearch تستخدم CompareTo ضمن IComparable Interface بحث بهذه الدالة نحدد ما هو الشيئ الذي نريد ان نقارنه
في مثالنا نستطيع ان يكون وجه المقارنه FirstName او LastName او FullName.

الImplementation يكون كالتالي :

 public class Person:IComparable<Person>
    {

        #region Constructor
        public Person(string first, string last)
        {
            FirstName = first;
            LastName = last;
        }
        #endregion 
        #region Properties
        public string  FirstName{set;get;}
        public string LastName { set; get; }        
        public string FullName
        {
            get
            {
                return FirstName + " " + LastName;
            }
        }
        #endregion 
    
        #region IComparable<Person> Members

        public int CompareTo(Person other)
        {
            return this.FullName.CompareTo(other.FullName);
        }

        #endregion
    }



3- و اخيرا حتى نستخدم هذا الكود نعرف عدد من الObject من هذا الكلاس و نضعه داخل مصفوفه و نرتبها بستخدام Array.Sort بحيث اناه ايضا تستخدم CompareTo Method السابق للترتيب .



static void Main(string[] args)
        {

            Person ahmad = new Person("Ahmad", "bushnach");
            Person bassl = new Person("Bassl", "shadow");
            Person jehad = new Person("Jehad", "beginner");

            Person[] Brother = { jehad, ahmad, bassl };


            Person jehad2 = new Person("Jehad", "beginner");

            Array.Sort(Brother);

            int indexResult = Array.BinarySearch(Brother, jehad2);

            string outputMessage = string.Empty;
            if (indexResult < 0)
            {
                Console.WriteLine("The object to search  is not found. The next larger object is at index ." + ~indexResult);
            }
            else
            {
                Console.WriteLine("The object to search  is at index " + indexResult);
            }
           
        }



أرجو أن يكون المثال واضح و مفيد .
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
مشاركةالاثنين,11/ذو القعدة/1431 هـ,05:37 صباحاً
المشاركة #2

الرتبة في المنتدى:رقيب

أيقونة المجموعة

المجموعة: الأعضاء
المشاركات: 9
سجل في:السبت,19/رمضان/1431 هـ,02:27 صباحاً
الدولة:سوريا
رقم العضوية: 95866



شكرا يا أخ يوسف على الشرح الوافي لكن المشكلة التي أواجهها دائمأ هي في ; (Array.Sort(Brother

حيث يرمى Failed to compare two elements in the array ) : exception )


--------------------
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
مشاركةالاثنين,11/ذو القعدة/1431 هـ,05:45 صباحاً
المشاركة #3

المراقب العام
Joseph
الرتبة في المنتدى:عماد



المجموعة: الإدارة
المشاركات: 2897
سجل في:الاثنين,26/ربيع الأول/1427 هـ,07:49 صباحاً
الدولة:الأردن
رقم العضوية: 10102



هذا الخطا يظهر اذا لم تكن عامل Implement لل IComparable Interface
لانه عند الترتيب و البحيث يستخدم CompareTo و اذا لم يجدها لا يستطيع المقارنه بين عناصر المصفوفه كما هو موضح بال exception السابق.

أرجو ان تكون النقطه واضحه.
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
مشاركةالاثنين,18/ذو القعدة/1431 هـ,02:27 صباحاً
المشاركة #4

الرتبة في المنتدى:رقيب

أيقونة المجموعة

المجموعة: الأعضاء
المشاركات: 9
سجل في:السبت,19/رمضان/1431 هـ,02:27 صباحاً
الدولة:سوريا
رقم العضوية: 95866



شكراً جزيلاً على ارشادك لي يا صديقي لقد عملت المصفوفة بشكل جيد و دون أخطاء .
تحياتي لك ...


--------------------
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
مشاركةالخميس,13/محرم/1433 هـ,12:23 مساءً
المشاركة #5

الرتبة في المنتدى:ملازم

أيقونة المجموعة

المجموعة: الأعضاء
المشاركات: 50
سجل في:الخميس,13/محرم/1433 هـ,12:02 مساءً
الدولة:البارجواي
رقم العضوية: 99363



great work man


--------------------

برمجة وتصميم المواقع

programmer4ever@ yahoo.com
http://maktba.clanteam.com/

للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة

    

عدد المتصفحين لهذا المنتدى «1»: (الضيوف «1» - المتخفون «0»)
الأعضاء «0»: .

إضافة رد جديد إضافة موضوع جديد



 
الوقت الأن:اليوم,09:11 مساءً بتوقيت القدس المحتلة

Powered By arabmoheet v3.1

منتديات المحيط العربي  -  راسلنا  -   أعلى
X   رسالة المنتدى
(سوف يتم اغلاق هذه النافذة بعد 2 ثانية)
X   رسالة المنتدى
(سوف يتم اغلاق هذه النافذة بعد 2 ثانية)