C# 将逗号分隔的列表转换为列表
我有一个包含逗号分隔值的列表,例如,每个项目看起来像123、123、123。现在,我想把它转换成一个列表。我该怎么做 我尝试了以下方法:C# 将逗号分隔的列表转换为列表,c#,.net,C#,.net,我有一个包含逗号分隔值的列表,例如,每个项目看起来像123、123、123。现在,我想把它转换成一个列表。我该怎么做 我尝试了以下方法: List<int> TagIds = parameters.AccidentId.Split(',').Select(int.Parse).ToList(); 但它说: System.Collections.Generic.List不包含接受类型为“System.Collections.Generic.List”的第一个参数的拆分定义 我对意外I
List<int> TagIds = parameters.AccidentId.Split(',').Select(int.Parse).ToList();
但它说:
System.Collections.Generic.List不包含接受类型为“System.Collections.Generic.List”的第一个参数的拆分定义
我对意外ID的定义如下:
if (AccidentId != null && AccidentId.itemsSelected != null)
{
parameters.AccidentId = new List<string>();
foreach(var param in AccidentId.itemsSelected)
{
parameters.AccidentId.Add(param);
}
}
实际上,您有一个列表列表。列表中的每个字符串都是逗号分隔的列表 您可以使用SelectMany将多个序列展平到单个列表中 比如:
parameters.AccidentId.SelectMany(s => s.Split(',').Select(int.Parse)).ToList()
这大致相当于
List<int> TagIds = new List<int>();
foreach(string s in parameters.AccidentId)
{
string[] accidentIds = s.Split(',');
foreach(string accidentId in accidentIds)
{
TagIds.Add(int.Parse(accidentId));
}
}
实际上,您有一个列表列表。列表中的每个字符串都是逗号分隔的列表 您可以使用SelectMany将多个序列展平到单个列表中 比如:
parameters.AccidentId.SelectMany(s => s.Split(',').Select(int.Parse)).ToList()
这大致相当于
List<int> TagIds = new List<int>();
foreach(string s in parameters.AccidentId)
{
string[] accidentIds = s.Split(',');
foreach(string accidentId in accidentIds)
{
TagIds.Add(int.Parse(accidentId));
}
}
如果parameters.AccidentId是一个列表而不是单个字符串,则不能直接使用string.Split。但无论如何,您都应该重命名该属性,f.e.AccidentiList
您可以使用这种方法:
List<int> TagIds = parameters.AccidentId
.SelectMany(id => id.Split(',').Select(int.Parse))
.ToList();
如果parameters.AccidentId是一个列表而不是单个字符串,则不能直接使用string.Split。但无论如何,您都应该重命名该属性,f.e.AccidentiList
您可以使用这种方法:
List<int> TagIds = parameters.AccidentId
.SelectMany(id => id.Split(',').Select(int.Parse))
.ToList();
parameters.AccidentId是列表吗?似乎与string.Split混合使用。parameters.AccidentId是列表吗?似乎与string.Split混合使用。