حذف آیتم های خالی یا null در یک List در سی شارپ
سلام دوستان. دارم روی پروژه ای با سی شارپ کار می کنم. در بخشی از پروژه List از رشته ها رو باید دریافت کنم. ولی برخی از این رشته ها ممکنه خالی باشن و برخی از آیتم های List خالی نمایش داده میشه. می خوام دستوری بنویسم که تمامی سلول های خالی رو در رشته حذف کنه و نمایش نده.
پاسخ هوش مصنوعی
شما می توانید از متد RemoveAll
و یا با استفاده از LINQ برای حذف عناصر خالی یا null از یک List
در C# استفاده کنید. در زیر چند روش برای انجام این کار آورده شده است:
روش اول: استفاده از RemoveAll
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
List items = new List { "apple", null, "banana", "", "cherry", null };
items.RemoveAll(string.IsNullOrEmpty);
foreach (var item in items)
{
Console.WriteLine(item);
}
}
}
روش دوم: استفاده از LINQ
using System;
using System.Collections.Generic;
using System.Linq;
class Program
{
static void Main()
{
List items = new List { "apple", null, "banana", "", "cherry", null };
var filteredItems = items.Where(item => !string.IsNullOrEmpty(item)).ToList();
foreach (var item in filteredItems)
{
Console.WriteLine(item);
}
}
}
در هر دو روش، شما می توانید آیتم های خالی و null را از لیست خود حذف کنید و فقط آیتم های معتبر را نگه دارید.
سلام! اگر لیستی از رشتهها (List<string>
) داری و میخوای تمام آیتمهای خالی (یا فقط شامل فاصله) رو حذف کنی، میتونی از LINQ استفاده کنی.
مثال:
using System;
using System.Collections.Generic;
using System.Linq;
class Program
{
static void Main()
{
List<string> list = new List<string> { "Hello", "", "World", " ", "C#", null };
// حذف رشته های خالی یا فقط شامل فاصله و نال
List<string> cleanedList = list
.Where(s => !string.IsNullOrWhiteSpace(s))
.ToList();
// نمایش لیست تمیزشده
foreach (string item in cleanedList)
{
Console.WriteLine(item);
}
}
}
خروجی:
Hello
World
C#
دستور string.IsNullOrWhiteSpace(s)
باعث میشه رشتههایی که خالی هستن، فقط فاصله دارن یا نال هستن، حذف بشن.
اگه خواستی فقط رشتههای خالی دقیقاً (""
) رو حذف کنی و فضای سفید مهم بود، میتونی اینو بنویسی:
.Where(s => !string.IsNullOrEmpty(s))
اگه خواستی به صورت دایمی از لیست حذف بشن (نه فقط برای نمایش)، همین cleanedList
رو جایگزین list
کن یا لیست اصلی رو با RemoveAll
بهروز کن:
list.RemoveAll(s => string.IsNullOrWhiteSpace(s));
اگه نوع دادهت یا ساختار متفاوت بود بگو تا دقیقتر راهنماییت کنم
- آموزش استفاده از پلاگین گردونه شانس در Asp.net core به همراه سورس
- نمایش متن به صورت فرمت شده در CkEditor
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- مشکل تاریخ شمسی در سی شارپ
- نمایش گزارش stimulsoft روی کلاینت
- تفاوت های سی شارپ 8 با نسخه های قبلی چیه؟
- انتخاب چند سطر دلخواه توسط چک باکس در DataGrid و محاسبه جمع سطرهای انتخاب شده
- نمایش نوتیفکیشن در سی شارپ
- ارسال پارامتر از سی شارپ به استیمول سافت
- عدم نمایش عکس در دیتاگرید ویو در wpf
- Library Animation برای کنترلهای WPF
- رفع خطا در مایگریشن - Specify ON DELETE NO ACTION or ON UPDATE NO ACTION
- مشکل در تغییر مقدار Text کنترل RibbonBar در کامپوننت DevExpress