我很好奇以下行为到底是什么:
FileInfo info = new FileInfo("C:/testfile.txt.gz");
string ext = info.Extension;
这会返回“.txt.gz”还是“.gz”?
更多扩展名(例如“.txt.gz.zip”或类似内容)的行为是什么?
EDIT:
需要明确的是,我已经对此进行了测试。我想了解一下该房产的情况。
它会返回.gz,但是MSDN的解释(FileSystemInfo.Extension 属性 http://msdn.microsoft.com/en-us/library/system.io.filesysteminfo.extension.aspx)不清楚为什么:
"Extension 属性返回 FileSystemInfo 扩展名,包括句点 (.)。例如,对于文件 c:\NewFile.txt,此属性返回“.txt”。"
所以我查了一下代码Extension
带反射器的属性:
public string Extension
{
get
{
int length = this.FullPath.Length;
int startIndex = length;
while (--startIndex >= 0)
{
char ch = this.FullPath[startIndex];
if (ch == '.')
{
return this.FullPath.Substring(startIndex, length - startIndex);
}
if (((ch == Path.DirectorySeparatorChar) || (ch == Path.AltDirectorySeparatorChar)) || (ch == Path.VolumeSeparatorChar))
{
break;
}
}
return string.Empty;
}
}
它检查文件路径末尾的每个字符,直到找到一个点,然后从点返回到文件路径末尾的子字符串。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)