需要帮助最好的重载方法匹配' string.endswith(string)'有一些无效的论点

时间:2015-09-15 06:30:46

标签: c# asp.net

dynamic counter = 1;
string FileNameWithoutExtestion = "";
FileNameWithoutExtestion = file.Split('.')[0];
string FileExtestion = file.Split('.')[1];
while (System.IO.File.Exists(Dir + file))
{
    if (true)
    {
        counter = counter + 1;
        if (FileNameWithoutExtestion.EndsWith('_'))
        {
            file = FileNameWithoutExtestion + counter.ToString() + "." + FileExtestion;
        }
        else
        {
            file = FileNameWithoutExtestion + "_" + counter.ToString() + "." + FileExtestion;
        }
    }
}

if(FileNameWithoutExtestion.EndsWith(' _'))//错误发生在这里

怎么了?

1 个答案:

答案 0 :(得分:4)

String.EndsWith()只有string作为参数的重载,您插入char

替换

.EndsWith('_')

.EndsWith("_")

我将使用这些路径方法来解析文件名和扩展名

string FileNameWithoutExtestion = System.IO.Path.GetFileNameWithoutExtension(file);
string FileExtestion = System.IO.Path.GetExtension(file); //.jpg

因为在FileNameWithoutExtestion = file.Split('.')[0];

等文件名的情况下,foo.bar.jpg会导致无效值