Linq collection annidate.

giovedì 17 febbraio 2011 - 11.01
Tag Elenco Tags  C#  |  .NET 3.0  |  .NET 3.5  |  .NET 4.0  |  Windows Server 2008 R2  |  Windows Server 2008  |  Windows Server 2003  |  Windows Server 2000  |  Windows 7  |  Windows Vista  |  Windows XP  |  Visual Studio 2010  |  Visual Studio 2008

freemark Profilo | Newbie

Ciao ragazzi mi trovo ad affrontare il seguante problema.
Ho due classi:

public class AppState
{
public string CurrentState { get; set; }
public string NextState { get; set; }
public List<string> RequestList { get; set; }
}

public class AppStateCollection : List<AppState>{}

Le popolo....
in RequestList posso avere una lista di Richieste.
A me servirebbe estrapolare il NextState sapendo il CurrentState e una stringa per RequestList.
Ho provato a fare così ma mi da errore il compilatore:

string state1 = "State_1";
string a = "A";
string state2 = stateList.Where(
x => x.CurrentState == state1 &&
x.RequestList.Where(t=> t==a)
).FirstOrDefault().NextState;

Qualcje idea???
Grazie

alx_81 Profilo | Guru

>Ciao ragazzi mi trovo ad affrontare il seguante problema.
Ciao,

>Le popolo....
potresti postare il popolamento e quello che vorresti ottenere in output? Così faccio un po' fatica ad aiutarti..

>Grazie
di nulla!

--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi

freeteo Profilo | Guru

Ciao freemark,
potresti provare con una query di questo tipo:
var q = stateList .FirstOrDefault(x => x.CurrentState == state1 && x.RequestList.FirstOrDefault(t => t == a) != null); if(q != null) state2 = q.NextState;




Ciao.

Matteo Raumer
[MCAD .net, MVP Visual C#]
http://blogs.dotnethell.it/freeteo
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5