یک پروژه با 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 در سی شارپ میتونید از متد Insert استفاده کنید.
List<Users> myList = _context.Users.ToList();
myList.Insert(0,new Users {Id = 0, FirstName = "Hasan", Family = "Akbari"});
در مثال بالا در ابتدا اطلاعات را از دیتابیس فراخوانی کردیم و در لیست myList نگهداری کردیم. سپس در خط بعدی در سطر 0 از لیست یک رکورد اضافه کردیم. برای این کار از متد Insert استفاده شد.
تاریخ :
1403/08/29
- ساعت :
07:15:00 PM
- بازدید :
54
- پاسخ :
0
|
تاریخ :
1403/08/18
- ساعت :
10:40:00 AM
- بازدید :
93
- پاسخ :
0
|
تاریخ :
1402/07/23
- ساعت :
04:01:00 PM
- بازدید :
1031
- پاسخ :
1
|
تاریخ :
1403/05/30
- ساعت :
09:22:00 AM
- بازدید :
426
- پاسخ :
1
|
تاریخ :
1402/08/16
- ساعت :
10:38:00 AM
- بازدید :
1347
- پاسخ :
1
|
تاریخ :
1398/08/17
- ساعت :
01:27:00 AM
- بازدید :
4796
- پاسخ :
1
|
تاریخ :
1402/09/08
- ساعت :
07:34:00 PM
- بازدید :
1157
- پاسخ :
1
|
تاریخ :
1402/09/21
- ساعت :
11:10:00 PM
- بازدید :
595
- پاسخ :
1
|
تاریخ :
1403/07/27
- ساعت :
03:21:00 PM
- بازدید :
205
- پاسخ :
1
|
تاریخ :
1403/07/26
- ساعت :
09:00:00 PM
- بازدید :
116
- پاسخ :
0
|
تاریخ :
1403/08/29
- ساعت :
07:15:00 PM
- بازدید :
54
- پاسخ :
0
|
تاریخ :
1403/08/18
- ساعت :
10:40:00 AM
- بازدید :
93
- پاسخ :
0
|
تاریخ :
1402/07/23
- ساعت :
04:01:00 PM
- بازدید :
1031
- پاسخ :
1
|
تاریخ :
1403/05/30
- ساعت :
09:22:00 AM
- بازدید :
426
- پاسخ :
1
|
تاریخ :
1402/08/01
- ساعت :
06:25:00 PM
- بازدید :
930
- پاسخ :
1
|
تاریخ :
1402/08/16
- ساعت :
10:38:00 AM
- بازدید :
1347
- پاسخ :
1
|
تاریخ :
1398/08/17
- ساعت :
01:27:00 AM
- بازدید :
4796
- پاسخ :
1
|
تاریخ :
1402/09/08
- ساعت :
07:34:00 PM
- بازدید :
1157
- پاسخ :
1
|
تاریخ :
1402/09/21
- ساعت :
11:10:00 PM
- بازدید :
595
- پاسخ :
1
|
تاریخ :
1403/07/27
- ساعت :
03:21:00 PM
- بازدید :
205
- پاسخ :
1
|