c# – 将我的列表转换为列表

前端之家收集整理的这篇文章主要介绍了c# – 将我的列表转换为列表前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个包含十年(从2010年到2020年)的DropDownList,如下所示:
var YearList = new List<int>(Enumerable.Range(DateTime.Now.Year - 5,((DateTime.Now.Year + 3) - 2008) + 1));
ViewBag.YearList = YearList;

但这是我的问题,我希望选择一个默认值,并在我提交信息时保留此值,并希望使用类型List< SelectListItem>因为它更实用.

一旦进入这种类型,我将简单地这样做以保持选定的值:

foreach (SelectListItem item in list)
            if (item.Value == str)
                item.Selected = true;

我怎样才能转换我的List< int>到列表< SelectListItem> ?

解决方法

尝试使用Linq进行转换:
List<SelectListItem> item = YearList.ConvertAll(a =>
                {
                    return new SelectListItem()
                    {
                        Text = a.ToString(),Value = a.ToString(),Selected = false
                    };
                });

然后该项将是SelectListItem的列表

猜你在找的C#相关文章