PDA

View Full Version : حذف از لیست از نوع کلاس



ntayeban
یک شنبه 12 شهریور 1402, 14:43 عصر
سلام

دوستان من یه لیست دارم از کلاس student
تو کلاس استودنتم هم فقط سه آیتم id, name,lasename هست
حالا با list.add توش درج کردم برای حذف نمیدونم باید چی کار کنم که بتونم آی رو از کاربر بگیرم و بعد حذف کنم

ممنون

mazoolagh
یک شنبه 12 شهریور 1402, 16:35 عصر
سلام و روز خوش
از linq استفاده کنین.

ntayeban
یک شنبه 12 شهریور 1402, 16:39 عصر
سلام و روز خوش
از linq استفاده کنین.


میشه بیشتر توضیح بدی یا یه مثالی بزنید

mazoolagh
یک شنبه 12 شهریور 1402, 16:44 عصر
اگر linq tutorial رو گوگل کنین آموزش های خیلی خوبی پیدا میکنین.

Introduction to LINQ Queries (https://learn.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/linq/introduction-to-linq-queries)

ntayeban
دوشنبه 13 شهریور 1402, 08:03 صبح
دوستان ممنون میشم اگه کسی میتونه کمک کنه / من دستور linq رو هم نگاه کردم ولی نفهمیدم چجوری باید برای حذف ارش استفاده کنم

ROSTAM2
دوشنبه 13 شهریور 1402, 08:26 صبح
دوستان ممنون میشم اگه کسی میتونه کمک کنه / من دستور linq رو هم نگاه کردم ولی نفهمیدم چجوری باید برای حذف ارش استفاده کنم
سلام
چرا خودتو خسته می کنی از Dictionary استفاده کن id رو بده به Key یک کلاس برای Value ایجاد کن که فیلدهای دیگه داشته باشه با منود ContainsKey آی دی استعلام می شه اگه وجود داشت آیتم رو حذف کن.

ntayeban
دوشنبه 13 شهریور 1402, 08:31 صبح
میگم من بلد نیستم / من دیکشتری رو اینطور تصور میکنم که یک مقدار key داره و یه مقدار value v و برای همین نمیشه که بتونم کلاس استودینت رو توش تعریف کنم پ
غیر از اینه ؟

ROSTAM2
دوشنبه 13 شهریور 1402, 08:41 صبح
میگم من بلد نیستم / من دیکشتری رو اینطور تصور میکنم که یک مقدار key داره و یه مقدار value v و برای همین نمیشه که بتونم کلاس استودینت رو توش تعریف کنم پ
غیر از اینه ؟
:متفکر:

گفتم که Value هر کلاسی رو بعنوان دیتاتایپ می گیره چون Object هست همون کلاس student رو به عنوان دیتاتایپ Value استفاده کن.

Dictionary<TKey,TValue> Class (https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.dictionary-2?view=net-7.0)

shahryari
سه شنبه 14 شهریور 1402, 10:27 صبح
داخل همون کلاس student یک متد بنویس بنام removeAt یا یه همچین چیزی که ID رو ورودی بگیره و از لیستت پاک کنه
for example:
removeAt(int ID)
{
//add remove code here....
}


در کل سوالت کمی گنگه
کدهای همون کلاس student را در تگ کد بزار تا بگم

ntayeban
سه شنبه 14 شهریور 1402, 13:17 عصر
removeat آی دی رو نمیگیره ، ایندکس رو میگیره
آی دی یکی از فیلد هایی هست که مقدارش رو کاربر میده





داخل همون کلاس student یک متد بنویس بنام removeAt یا یه همچین چیزی که ID رو ورودی بگیره و از لیستت پاک کنه
for example:
removeAt(int ID)
{
//add remove code here....
}


در کل سوالت کمی گنگه
کدهای همون کلاس student را در تگ کد بزار تا بگم

ntayeban
سه شنبه 14 شهریور 1402, 13:19 عصر
سوالم گنگه ؟

یه کلاس دارم به اسم student با مشخصات ، آی دی ، نام و نام خانوادگی

به لیست از نوع student دامر که به کمک اون دانش آموز ثبت میکنم و حذف
دستور add که مشخصه برام ولی برای حذف از لیستی که از نوع کلاس هست و تک مقداری نیست نمیدونم چجوری حذف کنم





داخل همون کلاس student یک متد بنویس بنام removeAt یا یه همچین چیزی که ID رو ورودی بگیره و از لیستت پاک کنه
for example:
removeAt(int ID)
{
//add remove code here....
}


در کل سوالت کمی گنگه
کدهای همون کلاس student را در تگ کد بزار تا بگم

SajjadKhati
سه شنبه 14 شهریور 1402, 14:56 عصر
سلام



List<Button> list = new List<Button>() {new Button() {Tag = 10}, new Button() {Tag = 20}};
Button findedButtonFromIdToRemove = list.FirstOrDefault<Button>(
(Button btn) => { return ((int) btn.Tag) == 20; }
);
list.Remove(findedButtonFromIdToRemove);


با متد FirstOrDefault میتونید اولین آیتم مورد نظر را در لیست پیدا کنید .
با متد Remove هم میتونید حذفش کنید .

بجای نوع Button در بالا ، student ای که مد نظرتون بود را در نظر بگیرید و بجای Tag ، شناسه یا Id تون را .