我尝试在项目中使用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;
}
任何帮助将不胜感激。
感谢。
答案 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
并将其检查为空。