Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/257.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.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# Cast IEnumerable<;字符串>;到IEnumerable<;int>;在C中#_C#_.net_Visual Studio - Fatal编程技术网

C# Cast IEnumerable<;字符串>;到IEnumerable<;int>;在C中#

C# Cast IEnumerable<;字符串>;到IEnumerable<;int>;在C中#,c#,.net,visual-studio,C#,.net,Visual Studio,我有: IEnumerable c=codigo_incidencia.Split(“#”); 我需要将“c”转换为IEnumerable。我不知道如何在C#中进行此角色转换 有人能帮我吗?使用LINQ: IEnumerable<string> c = codigo_incidencia.Split('#'); IEnumerable c=codigo_incidencia.Split('#')。选择(x=>int.Parse(x)); 如果字符串始终保证为数字,则可以这样做:

我有:

IEnumerable c=codigo_incidencia.Split(“#”);
我需要将“c”转换为
IEnumerable
。我不知道如何在C#中进行此角色转换

有人能帮我吗?

使用LINQ:

IEnumerable<string> c = codigo_incidencia.Split('#');
IEnumerable c=codigo_incidencia.Split('#')。选择(x=>int.Parse(x));

如果字符串始终保证为数字,则可以这样做:

IEnumerable<int> c = codigo_incidencia.Split('#').Select(x => int.Parse(x));
IEnumerable c=codigo_incidencia.Split('#')。选择(stringValue=>int.Parse(stringValue));

最短的方法是使用linq
。同样选择

IEnumerable<int> c = codigo_incidencia.Split('#').Select(stringValue => int.Parse(stringValue));
如果您不确定这些节是否为有效的整数,那么您需要使用
TryParse
,如中所示:。如果使用C#7.0,您可以查看以下问题的答案:

var c = codigo_incidencia.Split('#').Select(int.Parse);

你试过什么吗?我不会强制转换这个,我更可能对
.Split()
的返回值调用
.Select()
,并解析
.Select()
中的字符串。这不是强制转换,而是转换。当然,只有当IEnumerable可以转换为IEnumerable时,才会发生这种情况。codigo_incidencia的内容是什么?感谢@ChristianGollhardt找到了合适的副本。发布答案的FGITW没有那么快;他们应该使用接近票数的选票(甚至是杜佩哈默),但是没有
var result = codigo_incidencia.Split('#')
                 .Select(s => new { Success = int.TryParse(s, out var value), value })
                 .Where(pair => pair.Success)
                 .Select(pair => pair.value);