Announcement

Collapse
No announcement yet.

Demo nhỏ cho bài tìm hiểu class Dictionary trong .NET(CTDLGTNC)

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Demo nhỏ cho bài tìm hiểu class Dictionary trong .NET(CTDLGTNC)

    Đoạn code này mình chỉ minh họa cách sử dụng một số phương thức cơ bản của lớp Dictionary trong .NET.
    Mong nhận được đóng góp của thầy và các bạn

    C# code
    Code:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace dotNetDictionary
    {
        class Program
        {
            static void Main(string[] args)
            {
                MDictionary mdic = new MDictionary();
                string c;
                string key = "", value = "";
                Console.WriteLine("~~~~~~~~~~~~~CHUONG TRINH DEMO TU DIEN .NET~~~~~~~~~~~~~~~");
                Console.WriteLine("0 - Thoat chuong trinh");
                Console.WriteLine("1 - Them tu moi vao tu dien");
                Console.WriteLine("2 - Xoa mot tu khoi tu dien");
                Console.WriteLine("3 - Tim mot tu trong tu dien");
                Console.WriteLine("4 - Xem toan bo tu dien");
                Console.WriteLine("5 - Xoa toan bo tu dien");  
                do
                {
    
                    Console.Write("Chon thao tac:");
                    c = Console.ReadLine();
                    switch (c)
                    {
                        case "0":
                            return;
                        case "1":
                            Console.Write("Nhap key:");
                            key = Console.ReadLine();
                            Console.Write("Nhap value:");
                            value = Console.ReadLine();
                            mdic.Add(key, value);
                            break;
                        case "2":
                            Console.Write("Nhap key:");
                            key = Console.ReadLine();
                           
                           bool re=     mdic.Remove(key);
                            if(re==true)
                                Console.WriteLine("Xoa thanh cong");
                           else
                                Console.WriteLine("Khong tim thay tu nay");
                           
                            break;
                        case "3":
                            Console.Write("Nhap key:");
                            key = Console.ReadLine();
                            value = mdic.Search(key);
                            if (value == null)
                                Console.WriteLine("Khong tim thay tu nay");
                            else
                                Console.WriteLine("{0}     :" + "      {1}", key, value);
                            break;
                        case "4":
                            foreach (KeyValuePair<string, string> kvp in mdic.GetDic())
                            {
                                Console.WriteLine("{0}     :" + "      {1}", kvp.Key, kvp.Value);
                            }
                            break;
                        case "5":
                            mdic.Clear();
                            Console.WriteLine("Da xoa toan bo tu dien");
                            break;
                        default:
                            // Do nothing
                            break;
                    }
                    Console.WriteLine("-------------------------------------\n");
                } while (c != "0");
            }
        }
    
        class MDictionary
        {
            private Dictionary<string, string> dic;
    
            public MDictionary()
            {
                dic = new Dictionary<string, string>();
            }
    
            public void Add(string key, string value)
            {
                dic.Add(key, value);
            }
    
            public bool Remove(string key)
            {
                return dic.Remove(key);
            }
    
            public void Clear()
            {
                dic.Clear();
            }
    
            public string Search(string key)
            {
                string value = null;
                foreach (KeyValuePair<string, string> kvp in dic)
                {
                    if (key == kvp.Key)
                        value = kvp.Value;
                }
                return value;
            }
    
            public Dictionary<string, string> GetDic()
            {
                return dic;
            }
        }
    }

  • #2
    Mình hiểu ở đây Dictionary là một list gồm 2 thuộc tính key(khóa) và value(trị)
    Last edited by 08520021; 07-09-2011, 12:18.

    Comment


    • #3
      uhm, nhưng trước khi bắt tay vào làm bài từ điển này bạn phải hiểu bảng băm là gì đã, năm ngoái thầy có cho tìm hiểu bảng băm trước, bt3 mới làm bài từ điển

      Comment


      • #4
        Bài này chỉ là tìm hiểu lớp Dictionary trong .NET thôi, chứ chưa phải là bài từ điển, với lại mình cũng chưa nghĩ là sẽ dùng mảng măng mà định dùng cây cho bài từ điển

        Comment


        • #5
          Ứng dụng của Dictionary đâu phải chỉ có nhiêu đây, không biết tham khảo như thế nào đây? Quá là cơ bản!
          Với lại dictionary mỗi phiên bản .Net có chút thay đổi để powerful hơn. Nếu có thể, anh xoáy sâu vào cái thì hay hơn.

          Comment


          • #6
            Originally posted by 09520685 View Post
            Ứng dụng của Dictionary đâu phải chỉ có nhiêu đây, không biết tham khảo như thế nào đây? Quá là cơ bản!
            Với lại dictionary mỗi phiên bản .Net có chút thay đổi để powerful hơn. Nếu có thể, anh xoáy sâu vào cái thì hay hơn.
            Ghi nhận ý kiến của bạn!

            Comment


            • #7
              Key word: "Dictionary memory usage"
              Ex: stores million element in dictionary, strong like

              Comment


              • #8
                Originally posted by 08520457 View Post
                uhm, nhưng trước khi bắt tay vào làm bài từ điển này bạn phải hiểu bảng băm là gì đã, năm ngoái thầy có cho tìm hiểu bảng băm trước, bt3 mới làm bài từ điển
                đừng dùng cây, mà nếu dùng cây bạn sẽ làm thế nào? đừng vội chạy qua nhanh, chắc chắn thầy sẽ cho bạn tìm hiểu về XML trước khi kêu làm ứng dụng từ điển, sau khi tìm hiểu xml thì bạn dùng file tudien.dict<là file sẵn có>, phân tích ra và đưa vào cấu trúc XML, dùng C# đưa vào từ điển, dễ mà lại hay, nếu cần mình cho luôn bài của mình, ko hay lắm nhưng cũng được 1.6 điểm/2

                Comment


                • #9
                  Cảm ơn Tùng nha, ý định ban đầu của Ân là vậy nhưng giờ làm theo ý thầy(ý mình chưa chắc là hay mà), cái XML này Ân tự làm được!

                  Comment


                  • #10
                    em đang cần làm cái này anh chị nào giúp em về cái XML này với....

                    Comment


                    • #11
                      Originally posted by 10520292 View Post
                      em đang cần làm cái này anh chị nào giúp em về cái XML này với....
                      Chính xác là em muốn làm về XML hay class Dictionary trong .NET?
                      Không có gì là không thể nếu chúng ta có lòng tin.
                      http://gabrielbl.com

                      Comment


                      • #12
                        Sao làm từ điển người ta lại không dùng sql vừa đảm bảo tốc độ, vừa tiết kiệm bộ nhớ, mà lại cứ dùng XML với cây nhỉ, ^^
                        Phạm Minh Tâm
                        Phone: 01643-652-922
                        Skype ID: tampham47@live.com

                        Comment


                        • #13
                          Originally posted by 09520434 View Post
                          Sao làm từ điển người ta lại không dùng sql vừa đảm bảo tốc độ, vừa tiết kiệm bộ nhớ, mà lại cứ dùng XML với cây nhỉ, ^^
                          Dùng sql liệu có thực sự là tốc độ hay không? Và một điều nữa đó là dùng sql thì phải cần 1 trình quản lý sql, trong khi sử dụng XML và cây ứng dụng các cấu trúc dữ liệu cũng như kỹ thuật tìm kiếm. Bạn sử dụng sql thì tốc độ tìm kiếm nó tùy thuộc vào từng trình quản lý sql, ví dụ tốc độ của mySQL khác SQLServer...
                          Không có gì là không thể nếu chúng ta có lòng tin.
                          http://gabrielbl.com

                          Comment


                          • #14
                            Originally posted by 09520434 View Post
                            Sao làm từ điển người ta lại không dùng sql vừa đảm bảo tốc độ, vừa tiết kiệm bộ nhớ, mà lại cứ dùng XML với cây nhỉ, ^^
                            Simplicity + Extensibility + Interoperability + Openness
                            Chưa....

                            Comment


                            • #15
                              em cũng đang làm đồ án từ điển
                              lúc đầu e cũng nghĩ là dùng sql để làm csdl nhưng được mấy anh khuyên dùng xml mà cũng chưa hiểu về cái này lắm
                              mong các anh chị giúp đỡ e về phần xml này
                              cụ thể thì mình cần những gì?

                              Comment

                              LHQC

                              Collapse
                              Working...
                              X