Вопрос о поиске записей во вложенных классах. Вот вырезанная версия моего кода. Надеюсь, это объяснит достаточно! Я использую Visual Web Developer 2010 Express.Поиск вложенных списков классов
Класс
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace API
{
public class Fixture
{
public int ID { get; set; }
public string Description { get; set; }
public List<FixturesMarketData> FixturesMarketData;
public Fixture()
{
FixturesMarketData = new List<FixturesMarketData>();
}
public void AddMarket(int _fixtureID, int _marketID, string _MarketName)
{
FixturesMarketData.Add(new FixturesMarketData (_fixtureID, _marketID, _MarketName));
}
public string ListMarkets()
{
string strReturn="";
foreach (var item in FixturesMarketData)
{
strReturn = strReturn + "<br />" + item.marketDescription + " - " + item.marketID + " - " + item.fixtureID;
}
return strReturn;
}
}
public class FixturesMarketData
{
public int fixtureID { get; set; }
public int marketID { get; set; }
public string marketDescription { get; set; }
public FixturesMarketData(int _mdfixtureID, int _mdmarketID, string _mdmarketDescription)
{
fixtureID = _mdfixtureID;
marketID = _mdmarketID;
marketDescription = _mdmarketDescription;
}
}
}
Главная Код
_fixtures = new List<Fixture>();
_fixtures.Add(new Fixture { ID = 1234, Description = 'This is a test' });
int index = _fixtures.FindIndex(Fixture => Fixture.ID.Equals(1234));
_fixtures[index].AddMarket(1234, 5678, 'This is a test market');
AddToOutputString(_fixtures[index].ListMarkets());
Так в основном это приведет: Крепеж:
ID= 1234;
Description=This is a test;
FixturesMarketData
FixtureID=1234;
MarketID=5678;
marketDescription=This is a test market;
Как сделать находку на FixturesMarketData для того, где рынок ид равна 5678?
я могу сделать это так:
var index=-1;
foreach (var item in _fixtures)
{
index = item.FixturesMarketData.FindIndex(entry => entry.marketID.Equals(_marketId));
if(index!=-1)
{
break;
}
}
, но я предполагаю, что там должен быть способ сделать это в лямбда-Find стиле
Спасибо!
см. [Мой ответ] (http://stackoverflow.com/a/11117930/201088) –