دسته بندی ها
10:46 1404/01/28

حذف آیتم های خالی یا null در یک List در سی شارپ

مشخصات سوال کننده :
کاربر : hamid_b     امتیاز کاربر : 510     رتبه کاربر : 4
دسته بندی : سی شارپ Entity Framework

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 258
پاسخ دهنده : Radman 20:03 1404/01/28

سلام! اگر لیستی از رشته‌ها (List<string>) داری و می‌خوای تمام آیتم‌های خالی (یا فقط شامل فاصله) رو حذف کنی، می‌تونی از LINQ استفاده کنی.

مثال:

using System;
using System.Collections.Generic;
using System.Linq;

class Program
{
    static void Main()
    {
        List&lt;string&gt; list = new List&lt;string&gt; { "Hello", "", "World", "   ", "C#", null };
        // حذف رشته های خالی یا فقط شامل فاصله و نال
        List&lt;string&gt; cleanedList = list
            .Where(s =&gt; !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));

اگه نوع داده‌ت یا ساختار متفاوت بود بگو تا دقیق‌تر راهنماییت کنم

ویرایش شده در پنج شنبه 28 فروردین 1404 ساعت 21:31:28
به این پاسخ امتیاز بدهید    3
امتیاز: 169 رتبه: 9
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود