در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

آموزش سی شارپ (#C) مقدماتی قسمت 23 : List و Dictionary

آموزش سی شارپ (#C) مقدماتی قسمت 23 : List و Dictionary

برای استفاده از این فیلم آموزشی باید هزینه آن را پرداخت کنید.

شما می توانید 3 دقیقه از این ویدیو را به صورت رایگان مشاهده کنید

در این قسمت از سری آموزشی، با کلاس های List و Dictionary که دو کلاس Generic تعریف شده در کتابخانه دات نت هستند آشنا می شویم، اینکه چگونه مجموعه هایی ایجاد کنیم که مانند آرایه ها محدودیت تعداد آیتم ها را نداشته باشند یا بتوان بوسله کلید مقادیر را به لیست اضافه از از لیست حذف کرد. همچنین با interface ای با نام IEnumerable آشنا می شویم. این interface به ما اجازه می دهد که بر روی یک کلاس دستور foreach را اجرا کنیم. امیدوارم که این قسمت مورد توجه دوستان قرار بگیرد.

#آموزش_سی_شارپ #دستور_foreach_در_سی_شارپ #دوره_آموزشی_سی_شارپ #آموزش_گام_به_گام_سی_شارپ #کلاس_dictionary_در_سی_شارپ #کلاس_list_در_سی_شارپ #آموزش_مقدماتی_سی_شارپ #استفاده_از_کلاس_generic_در_سی_شارپ #ienumerable_در_سی_شارپ
عنوان
1 آموزش سی شارپ (#C) مقدماتی قسمت 1 : شروع دوره متفاوت 23′:11″ رایگان
2 آموزش سی شارپ (#C) مقدماتی قسمت 2 : معماری دات نت و اولین برنامه 31′:46″ 13,200
3 آموزش سی شارپ (#C) مقدماتی قسمت 3 : متغیرها و انواع داده 39′:53″ 9,900
4 آموزش سی شارپ (#C) مقدماتی قسمت 4 : عملگرها و متغیر رشته 40′:14″ 9,900
5 آموزش سی شارپ (#C) مقدماتی قسمت 5 : عملگرهای منطقی ، If و Switch 1:5′:59″ 16,500
6 آموزش سی شارپ (#C) مقدماتی قسمت 6 : حلقه ها 34′:14″ 7,700
7 آموزش سی شارپ (#C) مقدماتی قسمت 7 : آرایه ها و نوع داده Char 33′:24″ رایگان
8 آموزش سی شارپ (#C) مقدماتی قسمت 8 : دستور foreach و var 15′:42″ رایگان
9 آموزش سی شارپ (#C) مقدماتی قسمت 9 : آشنایی با متدها 52′:59″ 9,900
10 آموزش سی شارپ (#C) مقدماتی قسمت 10 : Method Overloading 17′:23″ رایگان
11 آموزش سی شارپ (#C) مقدماتی قسمت 11 : کلاس، شئ، و رفتارها 24′:44″ رایگان
12 آموزش سی شارپ (#C) مقدماتی قسمت 12 : نوشتن برنامه دفترچه تلفن 59′:49″ 13,200
13 آموزش سی شارپ (#C) مقدماتی قسمت 13 : وراثت (Inheritance) 29′:31″ 11,550
14 آموزش سی شارپ (#C) مقدماتی قسمت 14 : Polymorphism 23′:35″ 9,900
15 آموزش سی شارپ (#C) مقدماتی قسمت 15 : Interface ها 17′:4″ رایگان
16 آموزش سی شارپ (#C) مقدماتی قسمت 16 : مفاهیم IoC و DI 19′:12″ 8,250
17 آموزش سی شارپ (#C) مقدماتی قسمت 17 : سازنده ها (Constructors) 22′:22″ 8,800
18 آموزش سی شارپ (#C) مقدماتی قسمت 18 : کلاس ها و اعضاء Static 20′:41″ 6,600
19 آموزش سی شارپ (#C) مقدماتی قسمت 19 : struct ، indexer و readonly 18′:17″ رایگان
20 آموزش سی شارپ (#C) مقدماتی 20 : Operator Overloading و ToString 16′:28″ 6,600
21 آموزش سی شارپ (#C) مقدماتی قسمت 21 : تبدیل نوع و تعریف Cast 19′:29″ 7,700
22 آموزش سی شارپ (#C) مقدماتی قسمت 22 : Generics 24′:14″ 11,000
23 آموزش سی شارپ (#C) مقدماتی قسمت 23 : List و Dictionary 33′:50″ 8,800
24 آموزش سی شارپ (#C) مقدماتی قسمت 24 : استثناها (Exception) ها 24′:48″ 9,900
25 آموزش سی شارپ (#C) مقدماتی قسمت 25 : ویژگی ها و نکات سی شارپ 6 23′:45″ رایگان
زمان و قیمت کل 12:12′:34″ 169,400
12 نظر
zahra .m

سلام استاد وقت بخیر

استاد در آخر ویدئو یه مثال حل کردید؛ دقیقا عملکرد این قطعه کد چیه و چکاری انجام می ده:

IEnumerator IEnumerable.GetEnumerator()
{
  returne  GetEnumerator();
}

باسپاس

برای مشاهده نظرات مدرس باید این ویدیو را خریداری کنید.

zahra .m

سلام استاد، وقت بخیر

متد Contains در Dictionary به چه صورت استفاده میشه؟

برای مشاهده نظرات مدرس باید این ویدیو را خریداری کنید.

zahra .m

سپاس.

فقط این بررسی براساس کلید امکان پذیره؟ نمیشه با مقدار این بررسی رو انجام داد؟

اگر میشه با value این بررسی رو انجام داد دستور اون به چه صورت هست؟

برای مشاهده نظرات مدرس باید این ویدیو را خریداری کنید.

zahra .m

من یه لیستی با استفاده از dictionary ایجاد کردم و شی هایی از دو کلاس مختلف رو داخل اون ریختم و برای هر کلاس یه counter گذاشتم.با استفاده از متد remove می خوام یک شی رو که توسط کاربر مشخص میشه، از لیست حذف کنم . حالا چطوری متد remove رو بنویسم که با حذف شی، از counter مربوط به همان کلاس یک واحد کم کند؟

برای مشاهده نظرات مدرس باید این ویدیو را خریداری کنید.

zahra .m

سلام استاد

منظورم اینه که یه متغیر تعریف کردم که هر بار یه شی از هر کلاس ساخته بشه یه واحد بهش اضافه بشه.

class Program
    {
        static void Main(string[] args)
        {
            TellBook<Contact> newlist = new TellBook<Contact>();
            while (true)
            {
                Console.Clear();
                Console.WriteLine("This is Tell Book" + "Number of Family: " + FamilyContact.CountFa + "  &  Number of Friend : " + FriendContact.Countfr);
                Console.WriteLine("--------------------------");
                Console.WriteLine("please enter your choose:");
                Console.WriteLine();
                Console.WriteLine("1.Add contact");
                Console.WriteLine("2.Remove contact");
                Console.WriteLine("3.Search");
                Console.WriteLine("4.Exit");
                int select = int.Parse(Console.ReadLine());
                switch (select)
                {
                    case 1:
                        {
                            Console.WriteLine("new contact is Family(1) or Friend(2) ، Enter 1 or 2");
                            int rel = Convert.ToInt32(Console.ReadLine());
                            if (rel == 1)
                            {
                                Contact family = new FamilyContact();
                                family.GiveInformation();
                                newlist.Add(family);

                            }
                            else if (rel == 2)
                            {
                                Contact fr = new FriendContact();
                                newlist.Add(fr);
                                fr.GiveInformation();
                            }
                            else
                                Console.WriteLine("your choose is invalid!");
                            break;
                        }
                    case 2:
                        {
                            Console.WriteLine("enter your key abaut contact :");
                            int key = int.Parse(Console.ReadLine());
                            newlist.Remove(key); ;
                            break;
                        }
                    case 3:
                        {
                            Console.WriteLine("enter your key abaut contact :");
                            int key = int.Parse(Console.ReadLine());
                            newlist.search(key);
                            break;
                        }
                    case 4:
                        return;
                }
                Console.ReadKey();
            }
        }
    }
 public interface Ikey
    {
        int key { get; set; }
    }
    public class Contact : Ikey
    {
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public long PhonNumber { get; set; }
        public int key { get; set; }
        public void GiveInformation()
        {
            Console.WriteLine("please enter countact firstname: ");
            FirstName = Console.ReadLine();
            Console.WriteLine("please enter countact lirstname: ");
            LastName = Console.ReadLine();
            Console.WriteLine("please enter countact phonNumber: ");
            PhonNumber = long.Parse(Console.ReadLine());
            Console.WriteLine("please enter countact key: ");
            key = int.Parse(Console.ReadLine());
        }
    }
    public class FamilyContact : Contact, Ikey
    {
        public static int CountFa { get; set; }
        public FamilyContact()
        {
            CountFa++;
        }
    }
    public class FriendContact : Contact, Ikey
    {
        public static int Countfr { get; set; }
        public FriendContact()
        {
            Countfr++;
        }
    }
    public class TellBook<T> where T : Contact, Ikey, new()
    {
        Dictionary<int, T> list = new Dictionary<int, T>();
      
        public void Add(T con)
        {
            list.Add(con.key, con);
        }
        public void Remove(int key)
        {
            T value;
            if (list.TryGetValue(key, out value))
            {
                Console.WriteLine(value.FirstName + "\t" + value.LastName);
                list.Remove(key);
                Console.Write("Contact is Removed! "+list.Count());
                
            }
            else
            {
                Console.WriteLine("your key is not valid! ");
            }
        }
        public void search(int key)
        {
            T value;
            list.TryGetValue(key, out value);
            Console.WriteLine("your contact: "+ value.key+" " + value.FirstName + " " + value.LastName + " " + value.PhonNumber);
        }
    }
}

من تو بخش حذفش مشکل دارم، بخاطر اینکه از هر کلاس که contact حذف بشه باید از شمارنده همون کلاس یک واحد کم بشه.

برای مشاهده نظرات مدرس باید این ویدیو را خریداری کنید.

zahra .m

سپاس.

استاد یه مشکل دیگه هم هست.من می تونم یه اشیاء کلید تکراری بدم تو این برنامه.البته شیء هایی که از کلاس های مختلف ایجاد می کنم.مثلا می تونم دو تا کلید 1 تو لیستم داشته باشم که یکی برای شیء فامیله یکی هم برای شیء دوست.

چطور میتونم برنامه رو تغییر بدم طوری که کلا نشه کلید تکراری تو برنامه داشته باشم؟

برای مشاهده نظرات مدرس باید این ویدیو را خریداری کنید.

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره پاییزه می تونی امروز ارزونتر از فردا خرید کنی ....