C# 如何转换列表<;字符串>;列出<;int>;其中,使用C中的LINQ将空字符串或null字符串转换为0#

C# 如何转换列表<;字符串>;列出<;int>;其中,使用C中的LINQ将空字符串或null字符串转换为0#,c#,linq-to-objects,C#,Linq To Objects,如何将列表转换为List其中使用C中的LINQ将空或空字符串转换为0# 以下LINQ语句将列表转换为列表,但这些语句是否适用于上述场景 listofIDs.Select(int.Parse).ToList() var intList = stringList.Select(s => Convert.ToInt32(s)).ToList() 试试这个: listofIDs.Select(id => string.IsNullOrEmpty(id)? 0 : int.Parse(id

如何将
列表转换为List
其中使用C中的LINQ将空或空字符串转换为0#

以下LINQ语句将
列表
转换为
列表
,但这些语句是否适用于上述场景

listofIDs.Select(int.Parse).ToList()

var intList = stringList.Select(s => Convert.ToInt32(s)).ToList()
试试这个:

listofIDs.Select(id => string.IsNullOrEmpty(id)? 0 : int.Parse(id)).ToList();
试试这个:

listofIDs.Select(id => string.IsNullOrEmpty(id)? 0 : int.Parse(id)).ToList();
如果您使用的是.Net framework 4.0或更高版本,也可以尝试使用

stringList.Select(s => string.IsNullOrWhiteSpace(s) ? 0 : int.Parse(s)).ToList();
例如:

List<string> stringList = new List<string> { "1", "2", "3", "    ", "", "4" };
List<int> newListOfInt = stringList.Select(s => string.IsNullOrWhiteSpace(s) ? 
                                                  0 : int.Parse(s)
                                           ).ToList();
List-stringList=新列表{“1”、“2”、“3”、“1”、“4”};
List newListOfInt=stringList.Select(s=>string.IsNullOrWhiteSpace)?
0:int.Parse(个)
).ToList();
如果您使用的是.Net framework 4.0或更高版本,也可以尝试使用

stringList.Select(s => string.IsNullOrWhiteSpace(s) ? 0 : int.Parse(s)).ToList();
例如:

List<string> stringList = new List<string> { "1", "2", "3", "    ", "", "4" };
List<int> newListOfInt = stringList.Select(s => string.IsNullOrWhiteSpace(s) ? 
                                                  0 : int.Parse(s)
                                           ).ToList();
List-stringList=新列表{“1”、“2”、“3”、“1”、“4”};
List newListOfInt=stringList.Select(s=>string.IsNullOrWhiteSpace)?
0:int.Parse(个)
).ToList();
以下是我的演讲:

        var stringlist = new List<String> { "1", "2", "", null };
        var intList = stringlist.Select(s => { int i; return int.TryParse(s, out i) ? i : 0; }).ToList();
        Debug.Print("{0},{1},{2},{3}", intList[0], intList[1], intList[2], intList[3]);
var stringlist=新列表{“1”、“2”、“null};
var intList=stringlist.Select(s=>{int i;return int.TryParse(s,out i)?i:0;}).ToList();
Print(“{0}、{1}、{2}、{3}”、intList[0]、intList[1]、intList[2]、intList[3]);
测试输出:1,2,0,0

与IsNullOrWhiteSpace建议没有什么不同。但是,它比只使用int.Parse unguared更安全,如果输入无效,int.Parse unguared将引发异常

给你一个建议:TDD!熟悉众多.NET测试框架之一。你可以用另外2-3行代码回答像你这样的问题。

以下是我的建议:

        var stringlist = new List<String> { "1", "2", "", null };
        var intList = stringlist.Select(s => { int i; return int.TryParse(s, out i) ? i : 0; }).ToList();
        Debug.Print("{0},{1},{2},{3}", intList[0], intList[1], intList[2], intList[3]);
var stringlist=新列表{“1”、“2”、“null};
var intList=stringlist.Select(s=>{int i;return int.TryParse(s,out i)?i:0;}).ToList();
Print(“{0}、{1}、{2}、{3}”、intList[0]、intList[1]、intList[2]、intList[3]);
测试输出:1,2,0,0

与IsNullOrWhiteSpace建议没有什么不同。但是,它比只使用int.Parse unguared更安全,如果输入无效,int.Parse unguared将引发异常


给你一个建议:TDD!熟悉众多.NET测试框架之一。您可以用另外2-3行代码来回答类似的问题。

第一行有一个输入错误。如果在第一行输入错误,则为空或为空。是空的还是空的