说明
我的目标是比较menuList
中菜单对象的语言。由于menuList
将语言作为另一个列表提供,这使得它有点复杂。所以我尝试用相同的值创建一个新的类对象,这样我就可以使用menuList.Languages.Contains(languageObject),但是我很快发现这不是这样工作的。我试着在for循环中创建一个for循环,这也不起作用,但从我的Angular 来看可能是一个失败。
显然我不能写这样的东西:
MenuList.Languages.Name.Equals("English").
正因为如此,我正在寻找一个解决方案,我可以检查,如果属性名称的menuList内的电子邮件列表等于我选择的值。
对象
private LanguageBox LangEng = new LanguageBox
{
IsoCode = "eng",
Name = "English"
};
- 名单 *
var MenuList = menuDataClient.GetMenuByCity(city)
.Select(nap => new MenuBox()
{
Menu = nap.Menu,
Languages = nap.Languages
.Select(lang => new LanguageBox()
{
IsoCode = lang.IsoCode,
Name = lang.Name
}).ToList()
})
.ToList();
The Loop
for (int i = 0; i < MenuList.Count; i++)
{
if (MenuList[i].Languages.Contains(LangEng))
{
System.Console.WriteLine("Success");
}
}
2条答案
按热度按时间lf3rwulv1#
也许linq的在哪里可以做的把戏?Sth like:
b09cbbtk2#
我找到了解决办法。这个LINQ选项适用于如果你想只保留列表中的元素,这些元素在它们的目录列表中有英语或俄语。
解决方案