Member 12639925 Ответов: 1

Как искать данные внутри списка в ASP.NET MVC


я хочу найти строку, которая находится внутри списка. из приведенного ниже кода я хочу найти столбец по имени столбца-Locale, который находится внутри списка LocalizedString. отметьте строку ниже выделенной(подчеркнутой). Пожалуйста, помогите мне, чтобы поиск столбца язык из списка из localizedstring.

Что я уже пробовал:

namespace Akton.Controllers
{
    
    public class LocalizationStringDefaultController : Controller
    {
        private IUnitOfWork db = new UnitOfWork( );
        public Akton.Areas.Challenge.DAL.UnitOfWorkRepo.IUnitOfWork challenge=new Akton.Areas.Challenge.DAL.UnitOfWorkRepo.UnitOfWork();
        // GET: LocalizaionStringDefault
        public ActionResult Index ( string sortOrder, string currentFilter, string searchString, int? page )
        {
            ViewBag.LocaleSortParam = string.IsNullOrEmpty(sortOrder) ? "locale_desc" : "";
            List<localstringsviewmodel> localStrings = new List<localstringsviewmodel>( );
            List<stringdefault> defaultString = challenge.StringDefaultRepository.Get( ).ToList( );
            if ( defaultString.Count>0 && defaultString !=null )
            {
                foreach ( var item in defaultString )
                {
                    List<localizedstring> stringModel = new List<localizedstring>( );
                    var languagestring = challenge.LocalizedStringRepository.Get().Where(s => s.StringDefaultId == item.StringDefaultId).ToList( );
                    if ( languagestring.Count > 0 && languagestring != null )
                    {
                        foreach ( var languages in languagestring )
                        {
                            stringModel.Add(new LocalizedString
                            {
                                StringDefaults=languages.StringDefaults,
                                Locale=languages.Locale,
                                Value=languages.Value

                            });
                        }
                        
                    }
                    localStrings.Add(new LocalStringsViewModel
                    {
                        DefaultString=item.Value,
                        LocalizedString=stringModel,
                        
                        StringDefaultId=item.StringDefaultId
                    });
                   
                }
            }
            var stringList = localStrings.Distinct( );
            ViewBag.CurrentSort = sortOrder;
            if ( searchString != null )
            {
                page = 1;
            }
            else
            {
                searchString = currentFilter;
            }
            ViewBag.CurrentFilter = searchString;
            if ( !String.IsNullOrEmpty(searchString) )
            {
                stringList = stringList.Where(x=>x.Locale==searchString).Select(x=> x).ToList();
            }
            switch ( sortOrder )
            {
                case "locale_desc":
                stringList = stringList.OrderByDescending(s => s.Locale);
                break;
                case "Value":
                stringList = stringList.OrderBy(s => s.Value);
                break;
                default:
                stringList = stringList.OrderBy(s => s.StringDefaultId);
                break;
            }
            int pageSize = 12;
            int pageNumber = ( page ?? 1 );

            return View(stringList.ToPagedList(pageNumber, pageSize));

        }
    }
}</localizedstring></localizedstring></stringdefault></localstringsviewmodel></localstringsviewmodel>