30/09/2018, 18:16
Con trỏ this trong C# dùng để làm gì?
Con thỏ this để làm gì nhĩ ?
Em có thể code như thế này nhưng ko hiểu rõ
public Window(int top, int left)
{
this.top = top;
this.left = left;
}
đoạn đó có cũng được mà ko có cũng được à ? và nếu có thì sẽ làm gì ?
Bài liên quan
this để trỏ tới chính lớp đó thôi
bạn có thể nói có ích gì dc ko bạn
Bạn có thể bỏ this ra thì kết quả cũng như nhau.
Bạn thử xóa this với dấu chấm đi đoạn code nó thành
public Window(int top, int left)
{
top = top;
left = left;
}
nó sẽ báo lỗi: Assignment made to same variable; did you mean to assign to something else ?. Muốn không bị lỗi bạn phải đổi tên đối số trong hàm nó khác với tên thuộc tính của class. Ví dụ top thành top1, left thành left_abc:
public Window(int top1, int left_abc)
{
top = top1;
left = left_abc;
}
…Mà để nghĩ ra cái tên đối số sao cho đẹp và dễ hiểu thì rắc rối quá thế là chúng ta có this, vừa nhanh, đẹp, lại dễ gợi nhớ cho người viết code. Có gì thiếu sai sót mong các bạn bổ sung nhé.
Chức năng thứ nhất là để phân biệt tài sản của lớp với các thông số truyền vào hàm, index… khi nó trùng tên.
Chức năng này nằm trong đoạn code ở #1.
Chức năng thứ 2 là để truyền chính nó vào trong một delegate hoặc event. Khi đó this đại diện cho chính nó.
Những chức năng khác để anh em liệt kê them.
Trong C#, this không phải là con trỏ mà là đối tượng, nó mang đầy đủ đặc tính của một đối tượng.