进行拆分并将结果转换为整数的最佳方法

Jon*_*nes 1 c# string

我有一个DB表,其中包含以逗号分隔的ID(int)列表,这些列表存储为nvarchar.

我有一个get方法在一个匹配中返回这些作为列表.目前我想我必须做这样的事情:

List<int> ids = new List<int>();
string[] pageids = experssion.Split(separators)

foreach (string number in pageids)
{
    ids.Add(Convert.ToInt32(number));
}
Run Code Online (Sandbox Code Playgroud)

谁能想到更好的方法呢?我能以某种方式完成分裂吗?

Kon*_*lph 11

我想这样:

var ids = expression.Split(separator).Select(s => int.Parse(s));
Run Code Online (Sandbox Code Playgroud)

它使用.NET 3.0的Linq扩展.作为替代方案(保存一个lambda),你也可以这样做,这可以说是不太可读:

var ids = expression.Split(separator).Select((Func<string, int>)int.Parse);
Run Code Online (Sandbox Code Playgroud)