الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

البحث في Hashtabel

بدأه سامي راتب في 21 أبريل 2010 · 3 رد · 612 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم و رحمة الله ،،،

اخواني اريد بعض المساعده منكم رجاءً

في عندي مشكله في البحث في Hashtabel

الموضوع اني بدي أبحث عن قيمه معينه و أحصل على المفتاح

على سبيل المثال :


weeks.Add("1", "SunDay");
weeks.Add("2", "MonDay");
weeks.Add("3", "TueDay");
weeks.Add("4", "WedDay");
weeks.Add("5", "ThuDay");
weeks.Add("6", "FriDay");
weeks.Add("7", "SatDay");
Hashtable weeks = new Hashtable();

اذا كان لدينا هذا الكود و انا أرت أن أجد مفتاح الذي تؤشر عليه القيمه الاثنين مثلا

weeks(MonDay) to get the key >> 2

أنا جربت فنكشن التالي


{
HT = new Hashtable();
string myKey = "";

foreach (string aKey in HT.Keys)
{
if (HT.ContainsValue(aKey).ToString() == myValue)
myKey = aKey;
else myKey = "No such that";
}
return myKey;
public string FindKey(Hashtable HT, string myValue)// Function to get key from Value search

بس المشكله انو دائما برجعلي قيمه فارغه

رجااااء لمن يعلم طريقه مساعدتي

انتظر ردكك

#2

و عليكم السلام و رحمة الله ،

تعديل بسيط و تنفذ البرنامج لدي

    class Program
    {
        public static string FindKey(Hashtable HT, string myValue)// Function to get key from Value search
        {         
            string myKey = "";

            foreach (string aKey in HT.Keys)
            {
                if (HT[aKey].ToString()== myValue)
                    myKey = aKey;               
            }

            if(myKey=="")
                myKey = "No such that";

            return myKey;
        }
        static void Main(string[] args)
        {
            Hashtable weeks = new Hashtable();
            weeks.Add("1", "SunDay");
            weeks.Add("2", "MonDay");
            weeks.Add("3", "TueDay");
            weeks.Add("4", "WedDay");
            weeks.Add("5", "ThuDay");
            weeks.Add("6", "FriDay");
            weeks.Add("7", "SatDay");

            Console.WriteLine(FindKey(weeks, "TueDay"));
        }
    }

/index.php/topic/264448-%D8%A7%D9%84%D8%A8%D8%AF%D8%A7%D9%8A%D8%A9-%D9%85%D8%B9-%D8%A7%D9%84%D8%A7%D9%86%D8%AF%D8%B1%D9%88%D9%8A%D8%AF/

 

اني وان كنت الاخير زمانه ---- لأتِ بما لم تستطعه الاوائلُ

#3

السلام عليكم

جزاك الله كل خير أخي و جعله في ميزان حسناتك

شكرا اكتييييييييييييير

على راسي يا كبير ، ان شاء الله نردلك اياها بالأفراح

:cool: :cool: :cool:

#4

سلام عليكم

اضافة لكود الاخ الاخير زمانه :

  class Program
    {
        public static string FindKey(Hashtable HT, string myValue)// Function to get key from Value search
        {
            string myKey = "";

            foreach (string aKey in HT.Keys)
            {
                if (HT[aKey].ToString().ToLower() == myValue.ToLower())
                    myKey = aKey;
            }

            if (myKey == "")
                myKey = "No such that";

            return myKey;
        }
        static void Main(string[] args)
        {
            Hashtable weeks = new Hashtable();
            weeks.Add("1", "SunDay");
            weeks.Add("2", "MonDay");
            weeks.Add("3", "TueDay");
            weeks.Add("4", "WedDay");
            weeks.Add("5", "ThuDay");
            weeks.Add("6", "FriDay");
            weeks.Add("7", "SatDay");

            Console.WriteLine(FindKey(weeks, "TueDay"));
        }
    }

تم اضافة tolower() و ذلك لان البحث في ال keys حساس للاحرف بحيث اذا كان حرف capital و حرف small فلا يتطابقان

تم تعديل هذه المشاركة بواسطة robot2030 في 27 أبريل 2010 في 06:52

[يمين]في زمان كل شئ فيه يتحرك بسرعة ... كونك ثابتا يعني انك تتحرك للوراء...

[/يمين]

مواضيع مشابهة