2017-10-14 57 views
0

我有这些对象:读取列表对象内与拉姆达

public class HistoricoDTO 
{ 
    public long EquipoId { get; set; } 
    public double Valor { get; set; } 
    public string Fecha { get; set; } 
    public string Dia { get;set;} 
    public string Mes { get; set; } 
    public string Ano { get; set; } 

    public List<HistoricoVariableDTO> ValorVariable { get; set; } 
} 


public class HistoricoVariableDTO 
{ 
    public string Variable { get; set; } 
    public double Valor { get; set; } 
} 

,我需要得到的财产ValorVariable一些价值观,我需要和λ得到勇气,卜它不工作,我的天堂不可能。

我试图做womething这样的:

foreach (var item in HistoricoData.Where(x => x.EquipoId.Equals(EquipoIdSelected) && x.Ano.Equals(AnoSelected) && x.ValorVariable.Any(y => y.Variable.Contains(VariableSlected)))) 

我需要查看在列表中,如果正确使用这个我不知道:

x.ValorVariable.Any(y => y.Variable.Contains(VariableSlected)) 

谢谢!

+0

问题尚不清楚。你不想做什么?你有错误吗?你有什么问题? –

+0

告诉我们你的目标是什么,什么不起作用 – CodingYoshi

回答

0

你需要通过使用AsEnumerable()如输出变量的结果存储在一个变量,然后再循环:

var output = HistoricoData.Where(x => x.EquipoId.Equals(EquipoIdSelected) && x.Ano.Equals(AnoSelected) && x.ValorVariable.Any(y => y.Variable.Contains(VariableSlected))) 

foreach(var item in output.AsEnumerable())//loop through your list here 
{....} 
+1

不,你不需要。 – CodingYoshi