Từ 1 tới 4 trên tổng số 4 kết quả

Đề tài: Không gán được giá trị cho từng thành phần trong mảng của 1 lớp. Lỗi Object reference not set to an instance

  1. #1
    Ngày gia nhập
    02 2010
    Bài viết
    73

    Unhappy Không gán được giá trị cho từng thành phần trong mảng của 1 lớp. Lỗi Object reference not set to an instance

    Em có code
    Visual C# Code:
    1.  class Element
    2.     {
    3.         private int giaTri;
    4.         private bool kiemTra;
    5.  
    6.         Element()
    7.         {
    8.             kiemTra = true;
    9.             giaTri = 0;
    10.         }
    11.  
    12.         public int GiaTri
    13.         {
    14.             set { giaTri = value; }
    15.             get { return giaTri; }
    16.         }
    17.  
    18.         public bool KiemTra
    19.         {
    20.             set {kiemTra= value;}
    21.             get {return kiemTra;}
    22.         }
    23. }


    Visual C# Code:
    1. static void ChuyenSangEle(int[,] arr, Element[,] ele)
    2.         {
    3.             for (int i = 0; i < 8; i++)
    4.                 for (int j = 0; j < 8; j++)
    5.                 {
    6.                     ele[i, j].GiaTri = arr[i, j];                  
    7.                 }
    8.         }

    Mỗi lần em chạy thì nó đều báo lỗi ở
    Code:
    ele[i, j].GiaTri = arr[i, j];
    Cụ thể
    An unhandled exception of type 'System.NullReferenceException' occurred in ConsoleApplication2.exe

    Additional information: Object reference not set to an instance of an object.
    Không biết em đã sai gì, mong các anh giúp đỡ với mảng arr thì các giá trị em đã gán đầy đủ, không thiếu gì cả :(, các code khác cũng không có gì sai

  2. #2
    Ngày gia nhập
    10 2009
    Nơi ở
    https://hocduong.vn
    Bài viết
    289

    Không cấp phát bộ nhớ cho nó thì lấy chỗ đâu mà gán ?

    Bạn thử lại xem

    Visual C# Code:
    1.         static void ChuyenSangEle(int[,] arr, Element[,] ele)
    2.         {
    3.             for (int i = 0; i < 8; i++)
    4.                 for (int j = 0; j < 8; j++)
    5.                 {
    6.                     ele[i, j] = new Element();
    7.                     ele[i, j].GiaTri = arr[i, j];                  
    8.                 }
    9.         }

  3. #3
    Ngày gia nhập
    02 2010
    Bài viết
    73

    Được rồi! Cám ơn bạn, C# không cấp vùng nhớ cho từng phần tử khi mình khai báo
    Code:
    Element[,] ele= new Element[9,9];
    luôn à ?

  4. #4
    Ngày gia nhập
    10 2009
    Nơi ở
    https://hocduong.vn
    Bài viết
    289

    Trích dẫn Nguyên bản được gửi bởi tamthientai Xem bài viết
    Được rồi! Cám ơn bạn, C# không cấp vùng nhớ cho từng phần tử khi mình khai báo
    Code:
    Element[,] ele= new Element[9,9];
    luôn à ?
    Nó cấp rồi đấy Nhưng chỉ là cấp phát vùng nhớ cho mảng 2 chiều Element, Còn từng phần tử trong mảng này chỉ Xác Định Kiểu Element chứ chưa được cấp phát bộ nhớ.


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

  1. Trả lời: 69
    Bài viết cuối: 21-09-2017, 09:56 AM
  2. Cách sửa lỗi Object reference not set to an instance of an object trong Xml
    Gửi bởi thangemhamhochoi trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 0
    Bài viết cuối: 27-11-2012, 09:58 AM
  3. lỗi Object reference not set to an instance of an object. khi submit form dùng Html.DropDownList
    Gửi bởi tuanngocpt trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 0
    Bài viết cuối: 03-05-2012, 04:02 AM
  4. Lỗi Object reference not set to an instance of an object, khi đưa sản phẩm vào giỏ hàng
    Gửi bởi selling123 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 0
    Bài viết cuối: 21-04-2012, 08:33 AM
  5. Socket Lỗi Object reference not set to an instance of an object. Lấy email sử dụng POP3 trong C#
    Gửi bởi kamikaze129 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 1
    Bài viết cuối: 26-04-2011, 10:56 AM

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