Override ToString() Method trong C#
C#
25
C-Sharp
1
.NET
3
White

Phuc Pham viết ngày 03/07/2016

Như chung ta biết tất cả các object được tạo trong .Net được kế thừa từ lớp "System.Object". Nên khi mà chúng ta tạo 1 class và ta sẽ thấy trong mỗi đối tượng của class có 4 methods. Đó là GetType(), ToString(), GetHashCode(), Equals(). Khi mà ta gọi method ToString() bất kỳ đối tượng nào nó sẽ trả về cho chúng ta Namespace và type name của class. Đây là phương thức mặc định ToString() cung cấp bởi class System.Object.

Ví dụ:

    using System;  
    using System.Collections.Generic;  
    using System.Linq;  
    using System.Text;  

    namespace OverrideTostring  
    {  
        class Program  
        {  
            static void Main(string[] args)  
            {  
                Employee emp = new Employee() { EmpId=100, EmpName="Pradeep", DeptName="Computer Science"};  

                Console.WriteLine(emp.ToString());  
                Console.ReadLine();   
            }  
        }  

        public class Employee  
        {  
            public int EmpId { get; set; }  
            public string  EmpName { get; set; }  
            public string DeptName { get; set; }   
        }  
    }  

Kết quả
alt text

Và giờ mình muốn hiển thị employee Id, Employee Name, Department Name khi gọi method ToString(). Và mình sẽ override nó như sau:

    using System;  
    using System.Collections.Generic;  
    using System.Linq;  
    using System.Text;  

    namespace OverrideTostring  
    {  
        class Program  
        {  
            static void Main(string[] args)  
            {  
                Employee emp = new Employee() { EmpId=100, EmpName="Pradeep", DeptName="Computer Science"};  

                Console.WriteLine(emp.ToString());  
                Console.ReadLine();  

            }  
        }  

        public class Employee  
        {  
            public int EmpId { get; set; }  
            public string  EmpName { get; set; }  
            public string DeptName { get; set; }  

            public override string ToString()  
            {  
                return this.EmpId + " " + this.EmpName + " " +this.DeptName;  
            }  
        }  
    }  

Và kết quả như ta mong muốn ^^
alt text

Chém chán chém chê chủ đề ngắn quá, ^^, hy vọng mọi người góp ý để lần sau sẽ có những chủ đề tốt hơn.
Basic thì chưa có time để làm tutorials về topic nào đó, nên viết lan man vậy ^^

Thanks for reading.
Link bài gốc trên blog của mình : https://azlogs.wordpress.com/2016/06/08/override-tostring-method-trong-c-sharp/

Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

Phuc Pham

5 bài viết.
3 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
4 1
Lâu quá rồi không được làm web, lên công ty thì làm wpf, wcf vớ vẫn ngứa tay chân nghi lại ngồi viết tut về js :p Hẵn là ai đang sử dụng Javascrip...
Phuc Pham viết 3 năm trước
4 1
White
4 1
Linq to Sql cho phép ta query và modify data của Sql Server sử dụng cú pháp Linq. Entity framework là một ORM (Objectrelational mapping), cho phép ...
Phuc Pham viết 3 năm trước
4 1
White
3 5
Thực ra thế này, tuần này mình optimize về phần API tìm kiếm và đến giờ vẫn chưa xong =)), và một số kinh nghiệm mình muốn chia sẽ khi optimize sql...
Phuc Pham viết 3 năm trước
3 5
Bài viết liên quan
White
0 0
Mình khá là lười, nên mình sẽ không đưa định nghĩa hay usage của reflection vào đây. Vì dù sao mình cũng sẽ chỉ copy thôi :smile:. Vậy nên chúng ta...
Rice viết 10 tháng trước
0 0
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
5 bài viết.
3 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!