Chuyển từ Struct trong C thành Class của C#

Mọi người cho em hỏi chuyển từ Struct của C thành Class của C# như trong hình , sau đó thay vì sử dụng con trỏ như bên C thì bây giờ có thể gọi trực tiếp tên biến
VD: p->Left ( p là con trỏ kiểu struct) => p.Left (p kiểu Tree)
được không ạ và kết quả thu được nó có giống nhau không ?

struct StructTree{
      char Word[9];
      int Count;
      struct StructTree  *Left, *Parent, *Right;
}
typedef struct StructTree *Tree;

public class Tree
    {
        public string Word;
        public int Count;
        public Tree Left, Parent, Right;
        public Tree()
        {
            Word = "";
            Count = 0;
            Left = Parent = Right = null;
        }        
    }

Cách thức hoạt động thì khá giống nhưng cấu trúc dữ liệu thì không giống.
char[] không tương đồng với string của C#, string C# có thể sẽ giống với wchar_t* hơn.

1 Like

Tất nhiên ạ , nó hoạt động giống nhau thì có cho cùng 1 kết quả giống nhau không ạ, nếu dùng trong 1 ngữ cảnh như nhau, tại vì 1 bên là con trỏ 1 bên thì không ấy ạ ?

Nếu để lưu và chuyển dữ liệu thì không vấn đề gì.
Còn nếu dùng PInvoke để dùng chung thì không được.

3 Likes

Câu trên như vậy là đúng ý rồi , thank bro nhiều ạ !

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