我正在讀取多個txt文件。 我正在閱讀每一行,通過最終添加到集合來拆分和創建一個對象。如何從基於其他元素的集合中檢索元素?
示例文件內容:
記錄1,時間,攝氏度(℃),高溫報警,低溫報警,溼度(%RH),露 點(℃),序列號
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, 02/06/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);
}
}
}
}
}
然後我真的找到(在本例21.0和19.5)集合內的最高溫度和最低溫度:
MaxMinTemperature.maxTemp = Records.Max(r => r.temp);
MaxMinTemperature.minTemp = Records.Min(r => r.temp);
如何找到在哪裏採集的最高和/或最低溫度的日期?
謝謝
請做n ot混合內容分析和數據分析 –
可能的重複:[here](https://stackoverflow.com/questions/914109/how-to-use-linq-to-select-object-with-minimum-or-maximum-property -value),[here](https://stackoverflow.com/questions/1101841/linq-how-to-perform-max-on-a-property-of-all-objects-in-a-collection-and- RET)。實質上,您需要檢索與最大/最小值關聯的對象,並根據需要使用屬性。 – crazyGamer