string fileName = str.Substring(str.LastIndexOf("\\") + 1);

kingyc2009 2010-11-18 01:55:37
string fileName = str.Substring(str.LastIndexOf("\\") + 1);请高手帮解释下是什么意思。还有为什么后面要+1
...全文
1891 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
周锋 2011-08-04
  • 打赏
  • 举报
回复 3
LastIndexof("\\")是获取最后一个\的位置索引,substring()函数只给出了开始下标,没有结束下标,所以就是从lastindexof("\\")+1开始一直取到该字符串的末尾了,所以就找到了文件名
  • 打赏
  • 举报
回复
考虑\被, 取全名
newdigitime 2010-11-18
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 fellowcheng 的回复:]
考虑正反斜杠的问题,用下面这个为好

C# code
System.IO.FileInfo file = new System.IO.FileInfo(str);
string fileName = file.Name;
[/Quote]
这个可以,但毕竟要new个对象.
下面这个也不错

string filename=Path.GetFileName(str);
fellowcheng 2010-11-18
  • 打赏
  • 举报
回复
考虑正反斜杠的问题,用下面这个为好
System.IO.FileInfo file = new System.IO.FileInfo(str);
string fileName = file.Name;
newdigitime 2010-11-18
  • 打赏
  • 举报
回复
[Quote=引用楼主 kingyc2009 的回复:]
string fileName = str.Substring(str.LastIndexOf("\\") + 1);请高手帮解释下是什么意思。还有为什么后面要+1
[/Quote]
就是取一个文件完整路径中的文件名,譬如 D:\img\abc.jpg,我们要得到abc.jpg.
如果不+1,得到的就包括\本身,成了 \abc.jpg
fellowcheng 2010-11-18
  • 打赏
  • 举报
回复
截取文件名
str.LastIndexOf("\\")--最后一个\的位置
孟子E章 2010-11-18
  • 打赏
  • 举报
回复
带上\

62,272

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧