Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用列表填充IEnumerable集合<;字符串>;数据_C#_List_Ienumerable - Fatal编程技术网

C# 使用列表填充IEnumerable集合<;字符串>;数据

C# 使用列表填充IEnumerable集合<;字符串>;数据,c#,list,ienumerable,C#,List,Ienumerable,我有一个统计数据的现有列表 List<string>countries 列出国家/地区 我想以某种方式循环使用此数据并填充以下集合 IEnumerable<SelectListItem> Countries IEnumerable国家 我该怎么做呢?我能想到的最简单的方法是使用Linq查询: Countries = countries.Select(country => new SelectListItem {Text = country, Value =

我有一个统计数据的现有列表

List<string>countries
列出国家/地区
我想以某种方式循环使用此数据并填充以下集合

IEnumerable<SelectListItem> Countries
IEnumerable国家

我该怎么做呢?

我能想到的最简单的方法是使用Linq查询:

Countries = countries.Select(country => new SelectListItem {Text = country, Value = country});

但是,您无法将文本与值区分开来。

我能想到的最简单的方法是使用Linq查询:

Countries = countries.Select(country => new SelectListItem {Text = country, Value = country});

但是,您将无法将文本与值区分开来。

我想是这样的

IEnumerable<SelectListItem> Countries = countries.Select(c => new SelectListItem
              {
                  Text = c,
                  Value = c
              });
IEnumerable Countries=Countries.Select(c=>new SelectListItem
{
Text=c,
值=c
});

我想是这样的

IEnumerable<SelectListItem> Countries = countries.Select(c => new SelectListItem
              {
                  Text = c,
                  Value = c
              });
IEnumerable Countries=Countries.Select(c=>new SelectListItem
{
Text=c,
值=c
});

假设这与mvc有关。。。试试这个

IEnumerable<SelectListItem> Countries = countries.Select(c => new SelectListItem { Text = c, Value = c });
IEnumerable Countries=Countries.Select(c=>newselectListItem{Text=c,Value=c});

假设这与mvc有关。。。试试这个

IEnumerable<SelectListItem> Countries = countries.Select(c => new SelectListItem { Text = c, Value = c });
IEnumerable Countries=Countries.Select(c=>newselectListItem{Text=c,Value=c});

你不能。IEnumerable仅用于枚举。当你想添加一些东西时,你需要一个允许添加的实例或接口。你的
SelectListItem
定义是什么?@andriev它可能是。@JeppeStigNielsen,重点是。不过,它的表述有点含糊不清。如果知道类型定义,答案可能会更具体。@AndreiV。该信息缺失,因此您的评论是相关的。我的评论只是一个猜测,只是想有所帮助。你不能。IEnumerable仅用于枚举。当你想添加一些东西时,你需要一个允许添加的实例或接口。你的
SelectListItem
定义是什么?@andriev它可能是。@JeppeStigNielsen,重点是。不过,它的表述有点含糊不清。如果知道类型定义,答案可能会更具体。@AndreiV。该信息缺失,因此您的评论是相关的。我的评论只是一个猜测,意在有所帮助。Select返回一个IEnumerableNote,说明这是正确的,但不会“填充”集合。它只是定义了一个LINQ查询,每次使用它时都会执行该查询。因此,您可能需要添加一个
ToList()
,它返回一个
列表,该列表也是一个
IEnumerable
。Select返回一个IEnumerableNote,说明这是正确的,但不“填充”集合。它只是定义了一个LINQ查询,每次使用它时都会执行该查询。因此,您可能需要添加一个
ToList()
,它返回一个
List
,该列表也是一个
IEnumerable