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

C#使用OpenFileDialog多选文件时文本框显示System.String[]如何解决

问题原因

OpenFileDialog的FileNames属性是string[](字符串数组)类型,数组的默认ToString()实现只会返回自身的类型名称System.String[],不会输出数组内的元素内容,这就是你遇到异常显示的核心原因。

修复方案

使用string.Join()方法把数组内的所有文件路径按你需要的分隔符拼接成单个字符串,再赋值给文本框即可。

方案1:分号分隔路径(适配单行文本框)

private void filePickerButton_Click(object sender, RoutedEventArgs e)
{
    // Create the OpenFileDialog object
    OpenFileDialog dialog = new OpenFileDialog();
    dialog.InitialDirectory = "C:\\Users";
    dialog.Multiselect = true;

    // Check to see if we have a result 
    if (dialog.ShowDialog() == true)
    {
        // 用分号拼接所有选中的文件路径
        filePickerTextBox.Text = string.Join(";", dialog.FileNames);
    }
    else
    {
        outputTextBox.Text = "Operation cancelled." + "\n" + outputTextBox.Text;
    }
}

方案2:换行分隔路径(适配多行文本框)

如果你的文本框支持多行显示,先把filePickerTextBox的AcceptsReturn属性设为true,再修改赋值逻辑:

// 用换行符拼接所有选中的文件路径,每个路径单独占一行
filePickerTextBox.Text = string.Join("\n", dialog.FileNames);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.20 09:54:03