如何将c#中文件路径中的\替换为/

问题描述 投票:0回答:1

您好,我在 c# wpf 工具中打开文件时遇到问题。

我正在目录中搜索包含特定字符串的文件。 之后,用户应该能够使用按钮或类似按钮打开创建的文件。 我找到的文件。我的问题是打开该文件。保存在数组 files[] 中的文件路径在某些时候有双反斜杠,所以我遇到了错误。 这就是路径在数组中保存的方式:Y:/Lehmann/Files\K123456.pdf

这是我的代码:

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace IEFileViewe
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        string KNR;
        string[] files = new string[3];
        string[] allfiles;
        string directory = "Y:/Lehmann/Files";
        public MainWindow()
        {
            InitializeComponent();
        }

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            // Überprüfung ob KNR passt
            KNR = txt_Search.Text;
            allfiles = Directory.GetFiles(directory);
            foreach (string file in allfiles) 
            {
                if (file.Contains(KNR) == true)
                {
                    if(file.Contains(".pdf") == true)
                        files[0] = file;
                    else if (file.Contains(".png") == true)
                        files[1] = file;
                }
            }
            for (int i = 0; i < files.Length; i++)
                txtBlock.Text += files[i] + "\n";            
        }

        private void btnPDF_Click(object sender, RoutedEventArgs e)
        {
            //files[0] = files[0].gsub!("\\", "/");
            System.Diagnostics.Process.Start(files[0]);
        }

        private void btnPNG_Click(object sender, RoutedEventArgs e)
        {
            System.Diagnostics.Process.Start(files[1]);
        }
    }
}
c# file openfiledialog
1个回答
0
投票

你尝试过这个吗:

files[0] = files[0].Replace("\\","/");
© www.soinside.com 2019 - 2024. All rights reserved.