我想取得一个文件的后缀名,例如:
abc.sp3.z  ===>    .sp3.z
我的想法是先使用
filename.Substring(filename.LastIndexOf('.'))得到".Z"
按后在把"abc.sp3"再用一次LastIndexOf('.'),得到".sp3"
把这两个字符串连接起来。我能想到的就是这个,但是我想问的是,还有什么更好的办法吗?由于".sp3.z"是7个字符,我也想过用filename.Substring(0,filename.Length - 7),
我觉得这是最简单的,但是这样是不对的吧,如果字符串小于7个就异常了。所以想请教大家一下。
PS:水平很差,问题深度请大家见谅。

解决方案 »

  1.   

    刚才有点地方写错了.
    更正:
    filename.Substring(0,filename.Length - 7) 
    ===>
    filename.Substring(filename.Length - 7)
      

  2.   

    string dext = Path.GetExtension(Path.GetFileNameWithoutExtension(path)) + Path.GetExtension(path);
      

  3.   

    多谢figroc。
    哎,还是不行啊,都不会举一反三
      

  4.   

    为什么要用LastIndexOf?直接用IndexOf嘛
    filename.Substring(filename.IndexOf('.'))得到".sp3.z" 
      

  5.   

    fileName.Substring(fileName.IndexOf("."))
      

  6.   

    直接用IndexOf不对啊,如果文件名是"ab.cd.sp3.z"呢
      

  7.   

    我觉得figroc的方法就是最好的了,没有其他的了,那结贴去了。