اضافه کردن مقدار به List در سی شارپ
یک پروژه با asp.net core دارم. در بخشی از پروژه یک List از string دارم که می خوام مقادیری رو به اون به صورت دستی و با استفاده از کد اضافه کنم.
در ابتدا من یک کلاس به نام Hoder دارم که به صورت زیر تعریف شده
public class Holder
{
public string Party { get; set; }
public List<string> AccountList { get; set; }
}
در کدهای پروژه خودم هم یک List از string به نام fulls دارم که به صورت زیر این کدها رو تعریف کردم.
List<string> fulls = new List<string>();
fulls.Add("Bank1");
fulls.Add("Bank2");
fulls.Add("Bank3");
خب همونطوری که مشاهده می کنید در کلاس Holder فیلدهای Party و AccountList وجود دارد که فیلد AccountList هم خودش List از string هست و در ادامه قصد دارم که مقدار لیست fulls رو بریزم توی AccountList.
برای این کار از دستور زیر استفاده کردم
holderFulls.Add(new PivotFull { Party="Ali", AccountList=fulls });
اما وقتی پروژه رو اجرا می کنم با خطای زیر مواجه میشم.
Object reference not set to an instance of an object.
ضمنا کلاس Holder رو هم به صورت زیر تعریف کردم تا بتونم به فیلدهاش دسترسی داشته باشم
public List<Holder> holderFulls{ get; set; }
می خواستم بدونم دلیل این خطا چی هست و چجوری میشه به صورت صحیح به یک List در سی شارپ مقادیر رو افزود؟
شما متغیر 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 رو دیگه دریافت نمی کنید.
افزودن به صورت دستی به List در سی شارپ
البته این پاسخ من شاید پاسخ شما نباشه ولی برای بقیه می نویسم. برای افزودن یک رکورد به List در سی شارپ میتونید از متد Insert استفاده کنید.
List<Users> myList = _context.Users.ToList();
myList.Insert(0,new Users {Id = 0, FirstName = "Hasan", Family = "Akbari"});
در مثال بالا در ابتدا اطلاعات را از دیتابیس فراخوانی کردیم و در لیست myList نگهداری کردیم. سپس در خط بعدی در سطر 0 از لیست یک رکورد اضافه کردیم. برای این کار از متد Insert استفاده شد.
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- نمایش صفحه در پنجره جدید با کلیک روی لینک (تگ a) در Asp
- افزودن مقادیر به صورت دستی به List دریافت شده از ریپازیتوری
- کار با CkEditor با قابلیت آپلود عکس
- خطا در ایجاد migration در Asp.net core
- مشکل تاریخ شمسی در سی شارپ
- تفاوت های Asp.net core و Asp.net mvc چیه؟
- دلیل اسپم شدن ایمیل های ارسالی از سرور
- نحوه لایه بندی پروژه Core و اضافه کردن به IIS
- ارسال ایمیل در Asp.net core
- آیا میشه در mvc core از کامپونت استفاده کرد
- نمایش گزارش stimulsoft روی کلاینت
- آپلود فایل در Asp.net core چگونه است؟