You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改C#代码以提取CSV文件第三列最大值对应整行数据并显示

解决方案

修正后代码

private void BtnAuswerten_Click(object sender, RoutedEventArgs e)
{
    using (var reader = new StreamReader(@"H:/Projekte/MaxTemp2/MaxTemp/MaxTemp/temps.csv"))
    {
        // 初始化变量:存储当前最大温度、温度最高的整行内容
        double maxTemp = double.MinValue;
        string maxTempLine = string.Empty;

        while (!reader.EndOfStream)
        {
            var line = reader.ReadLine();
            if (string.IsNullOrWhiteSpace(line)) continue; // 跳过空行
            var values = line.Split(',');
            // 校验列数是否符合要求,避免索引越界
            if (values.Length < 3) continue;
            // 尝试将第三列转为数值类型,转换失败则跳过当前行
            if (double.TryParse(values[2], out double currentTemp))
            {
                // 当前行温度大于已记录的最大值时更新
                if (currentTemp > maxTemp)
                {
                    maxTemp = currentTemp;
                    maxTempLine = line;
                }
            }
        }
        // 输出温度最高的整行内容
        lblAusgabe.Content = maxTempLine;
    }
}

逻辑说明

  • 不需要存储所有行的全量数据,仅在遍历过程中跟踪当前最高温度对应的行,内存占用更低
  • 增加了空行、列数不足、数值格式错误的兼容逻辑,避免程序运行报错
  • 针对你提供的CSV样本数据,最终会输出最高值59.5对应的整行内容:S1,2020-07-01 16:31:38,59.5

内容的提问来源于stack exchange,提问作者user17559990

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 04:15:04