对反斜杠的分裂感到困惑

 空瓶子姑娘_537 发布于 2023-02-09 14:10

我正在关注互联网上的教程,为了我的目的,我稍微改变了代码,现在它无法正常工作.我选择了一个路径OpenFileDialog,然后尝试用反斜杠拆分所选文件,如下所示

C:\的Inetpub \日志\ LogFiles文件\ W3SVC1

它总是返回form1文件名,做错了什么?

string filename(string text)
{
    string s = Text;
    string[] arr = s.Split('\\');
    string[] dot = arr[arr.Length - 1].Split('.');
    return dot[0];           
}

private void button1_Click(object sender, EventArgs e)
{
    OpenFileDialog ofd = new OpenFileDialog();
    ofd.ShowDialog();
    textBox1.Text = ofd.FileName;
    label1.Text = filename(textBox1.Text);
}

Yair Nevet.. 12

并且它总是返回form1而不是文件名,出错了什么?

没有textfilename()方法中拆分字符串参数,但很可能Text是你的属性Form(注意 C#是区分大小写的,Text并且text完全是2个不同的东西):

string filename(string text)
{
    string s = Text;
    string[] arr = s.Split('\\');
    ...

所以改成它:

string s = text;

此外,正如其他人所建议的那样,您可以使用可以Path.GetFileNameWithoutExtension()轻松为您提供所需逻辑的方法:

var result = Path.GetFileNameWithoutExtension(fileName);


Roy Dictus.. 6

调用您的方法参数,text但您可以拆分找到的内容Text.C#区分大小写,因此Text必须是表单上的属性...

顺便说一句,您可以使用LINQ使您的代码更具可读性.例如,您可以替换arr[arr.Length - 1]arr.Last().不是你要求的,而是奖金提示.

编辑 Yair的评论System.IO.Path.GetFileNameWithoutExtension()当然是正确的.甚至比自己拆分并使用LINQ获取零件更好.

2 个回答
  • 调用您的方法参数,text但您可以拆分找到的内容Text.C#区分大小写,因此Text必须是表单上的属性...

    顺便说一句,您可以使用LINQ使您的代码更具可读性.例如,您可以替换arr[arr.Length - 1]arr.Last().不是你要求的,而是奖金提示.

    编辑 Yair的评论System.IO.Path.GetFileNameWithoutExtension()当然是正确的.甚至比自己拆分并使用LINQ获取零件更好.

    2023-02-09 14:12 回答
  • 并且它总是返回form1而不是文件名,出错了什么?

    没有textfilename()方法中拆分字符串参数,但很可能Text是你的属性Form(注意 C#是区分大小写的,Text并且text完全是2个不同的东西):

    string filename(string text)
    {
        string s = Text;
        string[] arr = s.Split('\\');
        ...
    

    所以改成它:

    string s = text;
    

    此外,正如其他人所建议的那样,您可以使用可以Path.GetFileNameWithoutExtension()轻松为您提供所需逻辑的方法:

    var result = Path.GetFileNameWithoutExtension(fileName);
    

    2023-02-09 14:12 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有