作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在按照 Internet 上的教程进行操作,为了我的目的我稍微更改了代码,但现在它不起作用了。我使用 OpenFileDialog
选择了一个路径,然后尝试通过反斜杠拆分所选文件,如下所示
C:\inetpub\logs\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);
}
最佳答案
and it always returns form1 instead file name, what am doing wrong?
您没有在 filename()
方法中拆分字符串 text
参数,但很可能是 Text
Form
的属性(注意 C# 是 case-sensitive ,Text
和 text
完全是两个不同的东西):
string filename(string text)
{
string s = Text;
string[] arr = s.Split('\\');
...
所以改成:
string s = text;
此外,正如其他人所建议的,您可以使用 Path.GetFileNameWithoutExtension()
可以轻松为您提供所需逻辑的方法:
var result = Path.GetFileNameWithoutExtension(fileName);
关于c# - 对反斜杠分割感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20661101/
我是一名优秀的程序员,十分优秀!