如何每次+ 1值创建下一个下载文件名?

时间:2015-02-15 20:12:46

标签: c# .net

代码:

for (int i = 0; i < dateTime.Count; i++)
{
    string result = dateTime[i].ToString("yyyyMMddHHmm");
    link = "http://www.sat24.com/image2.ashx?region=" + selectedregion + "&time=" + result + "&ir=" +
    infraredorvisual;
    Next_Sat_File = satimagesdir + "\\" + "SatImage" + (i + lastsatimage.ToString("D6")) + ".gif";
}

我想生成Next_Sat_File。我的问题是变量i是第一次0,但我需要它为1。 由于lastsatimage845,因此下一个文件应为SatImage000846,然后SatImage000847之后的下一个文件...

在循环dateTime中包含9个要下载的文件。从0到8。 如果我将其更改为从循环中的1开始,那么我将错过一个文件。

2 个答案:

答案 0 :(得分:4)

由于您希望使用i进行索引和标记。使用i进行索引并对标签执行(i + 1 + lastsatimage),因此当它为0时,它将为1,依此类推。

for (int i = 0; i < dateTime.Count; i++)
{
    string result = dateTime[i].ToString("yyyyMMddHHmm");
    link = "http://www.sat24.com/image2.ashx?region=" + selectedregion + "&time=" + result + "&ir=" +
    infraredorvisual;
    Next_Sat_File = satimagesdir + "\\" + "SatImage" + ((i + 1 + lastsatimage).ToString("D6")) + ".gif";
}

答案 1 :(得分:3)

您可以在需要时添加一个i

for (int i = 0; i < dateTime.Count; i++)
{
    string result = dateTime[i].ToString("yyyyMMddHHmm");
    link = "http://www.sat24.com/image2.ashx?region=" + selectedregion + "&time=" + result + "&ir=" +
    infraredorvisual;
    Next_Sat_File = satimagesdir + "\\" + "SatImage" + (lastsatimage + i + 1).ToString("D6") + ".gif";
}

也尝试使用string.Format而不是字符串连接。它提高了代码的可读性。

Next_Sat_File = string.Format("{0}\\SatImage{1:D6}.gif", satimagesdir,
                      lastsatimage + i + 1);