Override ToString() Method trong C#
C#
16
C-Sharp
2
.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

6 bài viết.
3 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
7 3
Tương lai của CSharp Ngày nay, C không chỉ là một ngôn ngữ phát triển trên Windows mà nó có thể sử dụng để xây dựng web ap, mobile apps bao gồm cả...
Phuc Pham viết hơn 1 năm trước
7 3
White
3 4
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 hơn 1 năm trước
3 4
White
2 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 hơn 1 năm trước
2 1
Bài viết liên quan
White
6 0
Chẳng là gần đây, công ty mình vưa tuyển thêm 1 anh Technical Lead. Đợt mình hỏi ông leader phỏng vấn thế nào, ổng nhận xét "Kiến thức base C khá v...
Huy Hoàng Phạm viết hơn 2 năm trước
6 0
{{like_count}}

kipalog

{{ comment_count }}

bình luận

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


White
{{userFollowed ? 'Following' : 'Follow'}}
6 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á!