【发布时间】:2014-06-25 11:24:52
【问题描述】:
我有一个这样的字符串:
RoleId,RoleName|CategoryId,CategoryName
我先这样拆分它们:
string delm = "RoleId,RoleName|CategoryId,CategoryName";
string[] FieldsToReplace = attributes[0].IdsToReplaceWith.Split('|');
假设我有一个包含 RoleId 的变量:
string test = "RoleId";
现在我要获取每个包含字符串 RoleId 的数组项,我不想使用包含我需要完全匹配的内容。
我试过这个查询:
var test = FieldsToReplace
.Where(x=>FieldsToReplace
.All(y => y.Split(',').Equals(delm))).ToArray();
我可以像这样对第一个索引进行硬编码:
var IdProperty = FieldsToReplace.FirstOrDefault(x => x.Split(',')[0] == delm);
但我希望它是动态的,因此它会检查我在 , 拆分后得到的每个数组项。
但它不返回任何记录。
任何帮助将不胜感激。
【问题讨论】:
-
y.Split(',') 返回一个数组。也许你需要 y.Split(',')[1] ?
-
我不确定我是否遵循.. 预期的输出是什么?
-
输出是reutrn那个与Roleid完全匹配的数组项,实际上我需要拆分
,上的每个数组项,然后检查是否与RoleId匹配,如果匹配则返回该数组项 -
为什么我的问题被否决了,我的问题是真实的,我无法解决我的问题
-
当你说返回数组的那个项目时,你没有意义。您正在搜索的数组,如果在
,上再次拆分,则匹配时仅返回您正在匹配的字符串。
标签: c# arrays linq linq-to-objects