دسته بندی ها
00:16 1398/09/11

اضافه کردن مقدار به List در سی شارپ

مشخصات سوال کننده :
کاربر : fateme     امتیاز کاربر : 1635     رتبه کاربر : 2
دسته بندی : سی شارپ Asp.net Core Asp.net Mvc

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 4476
هوش مصنوعی

پاسخ هوش مصنوعی

خطای شما نشان دهنده این است که شیء `holderFulls` شما از قبل Initialized نشده است. در واقع، شما باید قبل از اینکه بخواهید به آن مقدار اضافه کنید، یک نمونه (instance) از `List` بسازید.

برای اصلاح این مشکل، شما باید `holderFulls` را در Constructor کلاس خود مقداردهی اولیه کنید. به عنوان مثال:

public class YourClass
{
    public List<Holder> holderFulls { get; set; }

    public YourClass()
    {
        holderFulls = new List<Holder>();
    }
}

سپس، شما می توانید به سادگی مقادیر `fulls` را به `AccountList` در کد زیر اضافه کنید:

holderFulls.Add(new Holder { Party="Ali", AccountList=fulls });

حالا با این تغییرات، خطای مورد نظر باید برطرف شود و شما قادر به افزودن مقادیر به `holderFulls` خواهید بود.

به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
پاسخ دهنده : saedbfd 00:33 1398/09/11

شما متغیر holderFulls که در واقع یک نمونه از کلاس Holder هست رو تعریف کردید اما بنظر میاد این نمونه از کلاس Holder رو initial نکردید یا به عبارتی نمونه سازی نکردید از این کلاس.

شما یا باید یک نمونه از این کلاس رو تعریف کنید و بعد استفاده کنید

 

public List<Holder> holderFulls{ get; set; } = new List<Holder>();

 

و یا اینکه از dependency Injection یا همون تزریق وابستگی استفاده کنید و این کلاس رو Initial  کنید

 

private readonly Holder _holder;

Public ConstructorName(Holder holder)
 {
    _holder = holder;
 }

بنظرم اگر نمونه سازی رو از کلاس به این تریتبی که اشاره شد خطای Object reference not set to an instance of an object رو دیگه دریافت نمی کنید.

به این پاسخ امتیاز بدهید    0
امتیاز: 1664 رتبه: 1
پاسخ دهنده : hamid_b 23:08 1401/02/29

افزودن به صورت دستی به List در سی شارپ

البته این پاسخ من شاید پاسخ شما نباشه ولی برای بقیه می نویسم. برای افزودن یک رکورد به List در سی شارپ میتونید از متد Insert استفاده کنید.

List<Users> myList = _context.Users.ToList();
myList.Insert(0,new Users {Id = 0, FirstName = "Hasan", Family = "Akbari"});

در مثال بالا در ابتدا اطلاعات را از دیتابیس فراخوانی کردیم و در لیست myList نگهداری کردیم. سپس در خط بعدی در سطر 0 از لیست یک رکورد اضافه کردیم. برای این کار از متد Insert استفاده شد.

به این پاسخ امتیاز بدهید    0
امتیاز: 518 رتبه: 4
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود