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

如何用C#从TXT文件读取随机一行并赋值给变量用于后续处理

解决方案

由于你的TXT文件仅包含几十条条目,直接读取所有行再随机选取是高效且简单的方案。以下是完善后的完整代码:

using System;
using System.IO;

public class CPHInline
{
    public bool Execute()
    {
        // 获取文件所在文件夹路径
        string pathF = CPH.GetGlobalVar<string>("File path", true);
        // 组合完整文件路径
        string path = $"{pathF}Medium.txt";
        
        string message = string.Empty;
        // 检查文件是否存在,避免异常
        if (File.Exists(path))
        {
            // 读取所有行到字符串数组
            string[] allLines = File.ReadAllLines(path);
            // 确保文件非空
            if (allLines.Length > 0)
            {
                // 生成随机索引,范围为0到行数-1
                Random random = new Random();
                int randomIndex = random.Next(allLines.Length);
                // 赋值随机行到message变量
                message = allLines[randomIndex];
            }
            else
            {
                message = "文件为空,请先添加内容!";
            }
        }
        else
        {
            message = "指定文件不存在,请检查路径!";
        }

        // 后续消息发送与TTS朗读逻辑
        string voice = CPH.GetGlobalVar<string>("TTS speaker", true);
        
        CPH.SendMessage(message, false);
        CPH.TtsSpeak(voice, message, false);
        return true;
    }
}

核心逻辑说明

  • File.ReadAllLines(path):一次性读取文件所有行到字符串数组,完全适配几十条条目的小文件场景。
  • Random.Next(allLines.Length):生成合法范围内的随机整数作为数组索引,确保不会出现数组越界问题。
  • 新增文件存在性和非空判断,避免因文件缺失或空内容导致程序抛出异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 22:40:12