درخواست های ارتباط
جستجو
لیست دوستان من
صندوق پیام
همه را دیدم
  • در حال دریافت لیست پیام ها
صندوق پیام
رویدادها
همه را دیدم
  • در حال دریافت لیست رویدادها
همه رویدادهای من
تخفیف های وب سایت
همه تخفیف ها

برای دریافت گواهینامه باید کلیه قسمت های این دوره خریداری شود

شما 0 قسمت از 17 قسمت این دوره را خریداری کرده اید

عضویت در

کانال تلگرام

توسینسو

اطلاعات دوره آموزشی

مدت دوره

12:12:34

تعداد ویدیوها

25

تعداد کامنت ها

220

خرید دوره | 144,005

حجم دوره: 1,278 مگابایت

اطلاعات فیلم آموزشی
مدرس/نویسنده
حسین احمدی
امتیاز: 216285
رتبه:3
344
265
418
2848
حسین احمدی ، بنیانگذار TOSINSO ، توسعه دهنده وب و برنامه نویس ، بیش از 12 سال سابقه فعالیت حرفه ای در سطح کلان ، مشاور ، مدیر پروژه و مدرس نهادهای مالی و اعتباری ، تخصص در پلتفرم دات نت و زبان سی شارپ ، طراحی و توسعه وب ، امنیت نرم افزار ، تحلیل سیستم های اطلاعاتی و داده کاوی ... پروفایل کاربر

دوره مقدماتی آموزش برنامه نویسی سی شارپ - قسمت بیست و سوم :: کلاس های List و Dictionary

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

مدت زمان: 33 دقیقه

حجم: 61 مگابایت


تهیه کننده: حسین احمدی
انجمن تخصصی فناوری اطلاعات ایران
برچسب ها
ردیف عنوان حجم (مگابایت) مدت زمان قیمت
1 دوره مقدماتی آموزش برنامه نویسی سی شارپ - قسمت اول :: مقدمه 33 23 دقیقه و 11 ثانیه رایگان
2 دوره مقدماتی آموزش برنامه نویسی سی شارپ - قسمت دوم :: معماری دات نت، ویژوال استودیو و اولین برنامه 51 31 دقیقه و 46 ثانیه 13,200 تومان
3 دوره مقدماتی آموزش برنامه نویسی سی شارپ - قسمت سوم :: متغیرها و انواع نوع داده 66 39 دقیقه و 53 ثانیه 9,900 تومان
4 دوره مقدماتی آموزش برنامه نویسی سی شارپ - قسمت چهارم :: عملگرها و متغیر نوع رشته 68 40 دقیقه و 14 ثانیه 9,900 تومان
5 دوره مقدماتی آموزش برنامه نویسی سی شارپ - قسمت پنجم :: نوع داده Boolean، عملگرهای منطقی و دستورات if و switch 119 1 ساعت و5 دقیقه و 59 ثانیه 16,500 تومان
6 دوره مقدماتی آموزش برنامه نویسی سی شارپ - قسمت ششم :: حلقه ها و دستورات for، while و do-while 60 34 دقیقه و 14 ثانیه 7,700 تومان
7 دوره مقدماتی آموزش برنامه نویسی سی شارپ - قسمت هفتم :: آشنایی با آرایه ها و نوع داده char 58 33 دقیقه و 24 ثانیه رایگان
8 دوره مقدماتی آموزش برنامه نویسی سی شارپ - قسمت هشتم :: دستور foreach و کلمه کلیدی var 26 15 دقیقه و 42 ثانیه رایگان
9 دوره مقدماتی آموزش برنامه نویسی سی شارپ - قسمت نهم :: آشنایی با متدها 91 52 دقیقه و 59 ثانیه 9,900 تومان
10 دوره مقدماتی آموزش برنامه نویسی سی شارپ - قسمت دهم :: مفاهیم Method Overloading و متدهای بازگشتی 28 17 دقیقه و 23 ثانیه رایگان
11 دوره مقدماتی آموزش برنامه نویسی سی شارپ - قسمت یازدهم :: مفاهیم کلاس، شئ، خصوصیات و رفتارها 40 24 دقیقه و 44 ثانیه رایگان
12 دوره مقدماتی آموزش برنامه نویسی سی شارپ - قسمت دوازهم :: کارگاه عملی - برنامه دفترچه تلفن 112 59 دقیقه و 49 ثانیه 13,200 تومان
13 دوره مقدماتی آموزش برنامه نویسی سی شارپ - قسمت سیزدهم :: وراثت (Inheritance) و مفاهیم مرتبط با آن 49 29 دقیقه و 31 ثانیه 11,550 تومان
14 دوره مقدماتی آموزش برنامه نویسی سی شارپ - قسمت چهاردهم :: Polymorphism و الگوی استراتژی (Strategy Pattern) 40 23 دقیقه و 35 ثانیه 9,900 تومان
15 دوره مقدماتی آموزش برنامه نویسی سی شارپ - قسمت پانزدهم :: آموزش استفاده از Interface ها 28 17 دقیقه و 4 ثانیه رایگان
16 دوره مقدماتی آموزش برنامه نویسی سی شارپ - قسمت شانزدهم :: کاربرد عملی interface ها و آشنایی با مفاهیم IoC و DI 34 19 دقیقه و 12 ثانیه 8,250 تومان
17 دوره مقدماتی آموزش برنامه نویسی سی شارپ - قسمت هفدهم :: سازنده ها (Constructors) و آشنایی با Break Point ها 41 22 دقیقه و 22 ثانیه 8,800 تومان
18 دوره مقدماتی آموزش برنامه نویسی سی شارپ - قسمت هجدهم :: کلاس ها و اعضاء static و آشنایی با الگوی Singleton 37 20 دقیقه و 41 ثانیه 6,600 تومان
19 دوره مقدماتی آموزش برنامه نویسی سی شارپ - قسمت نوزدهم :: نوع داده struct، آشنایی با indexer و فیلدهای readonly 30 18 دقیقه و 17 ثانیه رایگان
20 دوره مقدماتی آموزش برنامه نویسی سی شارپ - قسمت بیستم :: نحوه تعریف عملگرها (Operator Overloading) و آشنایی با متد ToString 32 16 دقیقه و 28 ثانیه 6,600 تومان
21 دوره مقدماتی آموزش برنامه نویسی سی شارپ - قسمت بیستم و یکم :: تبدیل نوع ها (Casting) و تعریف Cast ها 33 19 دقیقه و 29 ثانیه 7,700 تومان
22 دوره مقدماتی آموزش برنامه نویسی سی شارپ - قسمت بیستم و دوم :: Generics 41 24 دقیقه و 14 ثانیه 11,000 تومان
23 دوره مقدماتی آموزش برنامه نویسی سی شارپ - قسمت بیست و سوم :: کلاس های List و Dictionary 61 33 دقیقه و 50 ثانیه 8,800 تومان
24 دوره مقدماتی آموزش برنامه نویسی سی شارپ - قسمت بیست و چهارم :: مدیریت استثناها (Exception) ها 44 24 دقیقه و 48 ثانیه 9,900 تومان
25 دوره مقدماتی آموزش برنامه نویسی سی شارپ - قسمت آخر :: ویژگی های سی شارپ 6 و چند نکته 42 23 دقیقه و 45 ثانیه رایگان
دوره مجموعه کل دوره 1,278 12 ساعت و12 دقیقه و 34 ثانیه 169,400 تومان
مطالب مرتبط

در حال دریافت اطلاعات

نظرات
  • سلام استاد وقت بخیر
    استاد در آخر ویدئو یه مثال حل کردید؛ دقیقا عملکرد این قطعه کد چیه و چکاری انجام می ده:
    IEnumerator IEnumerable.GetEnumerator()
    {
      returne  GetEnumerator();
    }
    
    باسپاس
  • برای خواندن نظرات استاد در ویدیوهای غیر رایگان باید ویدیو را خریداری کنید

  • سلام استاد، وقت بخیر
    متد Contains در Dictionary به چه صورت استفاده میشه؟

  • برای خواندن نظرات استاد در ویدیوهای غیر رایگان باید ویدیو را خریداری کنید

  • سپاس.
    فقط این بررسی براساس کلید امکان پذیره؟ نمیشه با مقدار این بررسی رو انجام داد؟
    اگر میشه با value این بررسی رو انجام داد دستور اون به چه صورت هست؟
  • برای خواندن نظرات استاد در ویدیوهای غیر رایگان باید ویدیو را خریداری کنید

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

  • سلام استاد
    منظورم اینه که یه متغیر تعریف کردم که هر بار یه شی از هر کلاس ساخته بشه یه واحد بهش اضافه بشه.
    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 حذف بشه باید از شمارنده همون کلاس یک واحد کم بشه.
  • برای خواندن نظرات استاد در ویدیوهای غیر رایگان باید ویدیو را خریداری کنید

  • سپاس.
    استاد یه مشکل دیگه هم هست.من می تونم یه اشیاء کلید تکراری بدم تو این برنامه.البته شیء هایی که از کلاس های مختلف ایجاد می کنم.مثلا می تونم دو تا کلید 1 تو لیستم داشته باشم که یکی برای شیء فامیله یکی هم برای شیء دوست.
    چطور میتونم برنامه رو تغییر بدم طوری که کلا نشه کلید تکراری تو برنامه داشته باشم؟

  • برای خواندن نظرات استاد در ویدیوهای غیر رایگان باید ویدیو را خریداری کنید

برای ارسال نظر ابتدا به سایت وارد شوید