字符串数组 1:(格式为: <MENU>|<Not Served?>|<Alternate item served>
)
Burger|True|Sandwich
Pizza|True|Hot Dog
字符串数组2:(包含菜单)
Burger
Pizza
Grill Chicken
Pasta
我需要提供菜单或为该特定项目提供任何替代项目。
代码:
for(int i = 0; i < strArr2.Length; i++)
{
if(strArr2.Any(_r => _r.Split('|').Any(_rS => _rS.Contains(strArr1[i]))))
{
var menu = strArr2[i];
var alternate = ? // need to get alternate item
}
}
正如我在代码中评论的那样,如何获取该字符串数组中的替代项?请帮忙,提前致谢。
P.S:如果条件允许,我们也很欢迎任何帮助修剪。
最佳答案
您可以使用Where来获取匹配的值,而不是any。
@Markus 正在提供详细的答案,我只是使用您的代码来为您找到快速解决方案。
for(int i = 0; i < strArr2.Length; i++)
{
if(strArr2.Any(_r => _r.Split('|').Any(_rS => _rS.Contains(strArr1[i]))))
{
var menu = strArr2[i];
var alternate = strArr2.Where(_rs => _rs.Split('|').Any(_rS => _rS.Contains(strArr1[i]))).First().Split('|').Last();
}
}
关于c# - 如果值匹配,则从另一个字符串数组获取字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41083919/