Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 14 kết quả

Đề tài: Vấn đề về struct trong C#

  1. #1
    Ngày gia nhập
    03 2008
    Bài viết
    1

    Wink Vấn đề về struct trong C#

    Chúng ta có thể khởi tạo giá trị ban đầu cho các biến thành viên của nó như bên dưới được không? Nếu không được tại sao?
    struct myStruct
    {
    private int mNum = 100;
    ....
    }
    em newbie đang tự học mà gặp cái câu cơ bản này. anh em giúp đỡ. cám ơn nhìu nhìu

  2. #2
    Ngày gia nhập
    03 2009
    Bài viết
    13

    hoàn toàn được

  3. #3
    Ngày gia nhập
    03 2008
    Bài viết
    1

    có được đâu. được thì hỏi làm gì hỏi thêm cai này nữa.
    using System;
    struct TheStruct
    {
    public int x;
    public TheStruct()
    {
    x = 10;
    }
    }
    Tại sao không được vậy nhì mấy bác, nhìn đâu có cái gì bất ổn đâu....

  4. #4
    Ngày gia nhập
    03 2008
    Bài viết
    1

    Anh em vào giúp em với

  5. #5
    Ngày gia nhập
    10 2007
    Nơi ở
    Gameloft studio
    Bài viết
    175

    Trích dẫn Nguyên bản được gửi bởi dvn88 Xem bài viết
    Anh em vào giúp em với
    Xem bài 1 (Chương 1) ở trong Topic này
    Không biết ghi gì luôn ...

  6. #6
    Ngày gia nhập
    03 2008
    Bài viết
    1

    Mặc định Vấn đề về struct trong C#

    Trích dẫn Nguyên bản được gửi bởi Forlorn_hope Xem bài viết
    Xem bài 1 (Chương 1) ở trong Topic này
    Cái topic đấy viết cũng dễ hiểu nhưng em biết làm 1 struct thì như thế nhưng đâu liên quan gì tới câu hỏi ban đầu của em đâu ?Dù sao thì cũng cám ơn đã quan tâm.

  7. #7
    Ngày gia nhập
    03 2008
    Bài viết
    1

    Trích dẫn Nguyên bản được gửi bởi dvn88 Xem bài viết
    Chúng ta có thể khởi tạo giá trị ban đầu cho các biến thành viên của nó như bên dưới được không? Nếu không được tại sao?
    struct myStruct
    {
    private int mNum = 100;
    ....
    }
    em newbie đang tự học mà gặp cái câu cơ bản này. anh em giúp đỡ. cám ơn nhìu nhìu
    Trích dẫn Nguyên bản được gửi bởi Forlorn_hope Xem bài viết
    Xem bài 1 (Chương 1) ở trong Topic này
    private int nMum = 100;
    hoặc
    public myStruct()
    {
    nNum =100;
    }
    thì không được phải chăng struct giá trị khởi tạo của các biến ban đầu luôn là 0 va nó không cho mình thay đổi, nó giống như 1 kiểu int hoặc float khi được khởi tạo nó luôn có giá trị mặc định là 0.
    public myStruct(int z)
    {
    nNum =z;
    }
    thì lại được có ai xác minh giúp.
    Đã được chỉnh sửa lần cuối bởi dvn88 : 18-03-2009 lúc 10:43 AM.

  8. #8
    Ngày gia nhập
    09 2006
    Nơi ở
    /usr/share/.hack@
    Bài viết
    1,433

    Trích dẫn Nguyên bản được gửi bởi dvn88 Xem bài viết
    private int nMum = 100;
    hoặc
    public myStruct()
    {
    nNum =100;
    }
    thì không được phải chăng struct giá trị khởi tạo của các biến ban đầu luôn là 0 va nó không cho mình thay đổi.
    public myStruct(int z)
    {
    nNum =z;
    }
    thì lại được có ai xác minh giúp.
    struct tương tự class.
    Không thể init giá trị cho thuộc tính.

    xem ví dụ này để hiểu:

    Visual C# Code:
    1. using System;
    2.  
    3. class Program
    4. {
    5.     static void Main()
    6.     {
    7.         [I]// Initialize to 0.[/I]
    8.         S st = new S(); // simply u can use: S st;
    9.         st.X = 5;
    10.         Console.WriteLine(st.X);
    11.         [I]// 5[/I]
    12.     }
    13.  
    14.     [B]struct[/B] S
    15.     {
    16.         int _x;
    17.         public int X
    18.         {
    19.             [B]get[/B] { return _x; }
    20.             [B]set[/B]
    21.             {
    22.                 if (value < 10)
    23.                 {
    24.                     _x = value;
    25.                 }
    26.             }
    27.         }
    28.     };
    29. }

    Nếu muốn khởi tạo giá trị ban đầu, họa chăng thì sử dụng const hoặc singleton
    None!

  9. #9
    Ngày gia nhập
    10 2007
    Nơi ở
    Gameloft studio
    Bài viết
    175

    Trích dẫn Nguyên bản được gửi bởi dvn88 Xem bài viết
    private int nMum = 100;
    hoặc
    public myStruct()
    {
    nNum =100;
    }
    thì không được phải chăng struct giá trị khởi tạo của các biến ban đầu luôn là 0 va nó không cho mình thay đổi, nó giống như 1 kiểu int hoặc float khi được khởi tạo nó luôn có giá trị mặc định là 0.
    public myStruct(int z)
    {
    nNum =z;
    }
    thì lại được có ai xác minh giúp.
    Xem phần "Constructors and Inheritance" trong link này
    Constructors của struct phải có tham số thì phải?
    ---------
    Đã sửa lại cái tiêu đề một chút cho thành viên khác tìm kiếm dễ dàng hơn, mong bạn thông cảm!
    Đã được chỉnh sửa lần cuối bởi Forlorn_hope : 18-03-2009 lúc 11:09 AM.
    Không biết ghi gì luôn ...

  10. #10
    Ngày gia nhập
    07 2007
    Nơi ở
    TP.HCM
    Bài viết
    199

    Struct là kiểu value type, dùng struct phải cẩn thận không nhầm qua class đó.
    http://forums.congdongcviet.com/show...19&postcount=4

Các đề tài tương tự

  1. Gửi struct thông qua socket có khác nhau giữa gửi từng field và gửi cả struct?
    Gửi bởi bptvip_pro trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 7
    Bài viết cuối: 12-05-2013, 02:35 AM
  2. Bài tập C++ làm sao truy xuất biến của struct lồng trong struct
    Gửi bởi quangnam.tamky trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 10-04-2013, 05:22 PM
  3. Lập trình C++ Giúp đỡ về điểm khác nhau giữa struct và typedef struct
    Gửi bởi huydang2410 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 27-02-2013, 10:30 AM
  4. Khác nhau giữa struct trong c và struct trong c++
    Gửi bởi nhutlv01 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 17-02-2012, 09:12 AM
  5. Lỗi không xử lý giá trị struct (trong if else)
    Gửi bởi duyanh_28 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 5
    Bài viết cuối: 25-05-2011, 12:13 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn