Struct trong C#

using System;

public struct location
{
    private int a;
    private int b;
    public location(int a , int b)
    {
        this.a=a;
        this.b=b;
    }
              
    public override string ToString()
    {
        return (String.Format("{0} , {1} ",a,b));
    }
}
                    
 public class Tester
 {
     static void Main()
     {
         location loc = new location (20, 30);
         Console.WriteLine("Value of a , b = {0} " , loc );
     }
 }

Kết quả : Value of a , b = 20 , 30  

Đoạn code trên em chuyển tham số đối tượng “loc” vào sao màng hình kết quả lại xuất ra 2 nhỉ ? Với lại em chưa sử dụng toàn tử DOT để truy xuất đến phương thức ToString nữa . Tìm kiếm nhiều nguồn trên mạng rồi vẫn không hiểu đoạn này , ai giúp em với .

Nhưng mà theo bạn bao nhiêu thì mới đúng ?

mình không quan tâm nó bao nhiêu cả , mình chỉ không hiểu tại sao tham chiếu 1 đối tượng của cấu trúc mà lại xuất ra được 2 giá trị thôi :)) . Trong khi mình không sử dụng toàn tử DOT để truy xuất đến hàm ToString () .

Nó sẽ xuất ra string. Nên dù bạn không gọi đến ToString() thì nó cũng tự gọi để chuyển thành string.

1 Like

à cảm ơn . Mình hiểu rồi . :smile:

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?