Linq拆分逗号,转换为int并保留在列表中

时间:2013-10-02 15:24:26

标签: c# asp.net-mvc linq asp.net-mvc-4

我尝试在项目中使用linq。

所以我有一个关于拆分和保持列表的问题,请使用linq。

我将Id值作为字符串。

“1”, “2”, “3”, “4”

我可以在 item.StringIdValues

中看到上面的Id值

我需要拆分为逗号Id值,之后我想转换为int32并匹配UserId。

foreach (var item in MyDatas)
{
var Something = item.StringValues; 
int FilteredId == // I want to split as comma and convert values to int32.
var result=context.Users.Any(s=>s.UserId==FilteredId).select(s>s.UserName).firstordefault();
//Than Keep above result Id's in list.

List<Something>=result;
}

任何帮助将不胜感激。

感谢。

1 个答案:

答案 0 :(得分:2)

您需要拆分然后解析,然后选择:

List<int> numericItems = item.StringIdValues
    .Split(',', StringSplitOptions.RemoveEmptyEntries)
    .Select(i => int.Parse(i)).ToList()

要匹配userID,请执行:

int FilteredId = item.StringIdValues
    .Split(',', StringSplitOptions.RemoveEmptyEntries)
    .Select(i => int.Parse(i))
    .First(i => i == UserId);

如果列表中可能没有FirstOrDefault,您可能需要将其更改为UserId并将其检查为空。