Je lis un certain nombre de fichiers txt. Je lis chaque ligne, divisant et créant un objet en ajoutant finalement à la collection.Comment extraire un élément de la collection en fonction d'un autre élément?
EXEMPLE DE CONTENU DU FICHIER:
Record1, Temps, Celsius (° C), Alarme haute, Alarme basse, humidité (% rh), point de rosée (° C), numéro de série
1, 02/06/2017 09: 26: 30,19,5,32,0,7,0,64,0,12,5,11211222
2,02/06/2017 09: 31: 30,21,0,32,0,7.0,54,5,11,4
3, 06/02/2017 09: 36: 30,20.5,32.0,7.0,54.5,11.0
List<MagModel> Records = new List<MagModel>();
using (OpenFileDialog ofd = new OpenFileDialog() { Filter = "Text
File|*.txt", Multiselect = true })
{
ofd.InitialDirectory = HelperClass.GetDirectory;
if (ofd.ShowDialog() == DialogResult.OK)
{
foreach (string file in ofd.FileNames)
{
using (StreamReader reader = new StreamReader(file))
{
reader.ReadLine();
if (file.Contains("Record1"))
{
var lines = from line in reader.Lines()
where !string.IsNullOrEmpty(line)
select line;
foreach (var line in lines)
{
var result = line.Split(',');
MagModel model1 = new MagModel();
model1.magazine = "Record1";
model1.date = result[1];
model1.temp = Convert.ToDouble(result[2]);
model1.humidity = Convert.ToDouble(result[5]);
Records.Add(model1);
}
MaxMinTemperature.maxTemp = Records.Max(r => r.temp);
MaxMinTemperature.minTemp = Records.Min(r => r.temp);
}
}
}
}
}
Alors je m `trouver les températures maximales et minimales dans la collection (21,0 et 19,5 dans l'exemple):
MaxMinTemperature.maxTemp = Records.Max(r => r.temp);
MaxMinTemperature.minTemp = Records.Min(r => r.temp);
Comment puis-je trouver la date à laquelle la plus haute et/ou température la plus basse a été collecté?
Merci,
Veuillez faire n otage de contenu de mixage et analyse de données –
Copies possibles: [ici] (https://stackoverflow.com/questions/914109/how-to-use-linq-to-select-object-with-minimum-or-maximum-property -value), [ici] (https://stackoverflow.com/questions/1101841/linq-how-to-perform-max-on-a-property-of-all-objects-in-a-collection-and- ret). Essentiellement, vous devez récupérer l'objet associé à la valeur max/min et utiliser les propriétés selon vos besoins. – crazyGamer