C# 在c中为路径名使用整数值

C# 在c中为路径名使用整数值,c#,string,path,integer,C#,String,Path,Integer,我想将某个文件与其他10个文件进行比较,它们的名称如下:s0、s1、s2、s3等。我想将其放在一个循环中。我怎么做这个?这可能吗 假设s0文件的路径如下所示:C:\Users\raymond\desktop\s0 s1看起来像这样:C:\Users\raymond\desktop\s1等等 如果在for循环中使用整数i。代码应该是这样的,但这显然不起作用: int x = compareImg(certain file, C:\Users\raymond\desktop\s + i) 更新:对

我想将某个文件与其他10个文件进行比较,它们的名称如下:s0、s1、s2、s3等。我想将其放在一个循环中。我怎么做这个?这可能吗

假设s0文件的路径如下所示:C:\Users\raymond\desktop\s0

s1看起来像这样:C:\Users\raymond\desktop\s1等等

如果在for循环中使用整数i。代码应该是这样的,但这显然不起作用:

int x = compareImg(certain file, C:\Users\raymond\desktop\s + i)

更新:对不起,伙计们。s0、s1等文件的路径在我的资源文件夹中,是位图,我不能使用字符串作为输入值。

您需要将int转换为字符串:

int x = compareImg(certainFile, @"C:\Users\raymond\desktop\s" + i);
编辑:

如果第二个参数需要是位图,请按如下方式调用:

int x = compareImg(certainFile, new Bitmap(@"C:\Users\raymond\desktop\s" + i));
我建议使用字符串插值,以使路径代码可读:

 //TODO: put right loop here
 for (int i = 0; i < 100; ++i) {
   string path = $@"C:\Users\raymond\desktop\s{i}";

   int x = compareImg(certain file, path); 

   //TODO: put relevant code here  
 }

请尝试$C:\Users\raymond\desktop\s{i}注意:这只适用于C 6.0+@Tamás Szabó:取决于他的.Net Framework版本,这不起作用。您需要在其中加引号。。。c:\\users\\raymond\\desktop\\s+iI不能使用字符串作为输入,它需要是“我的资源”文件夹中的位图。有什么想法吗?请你用“比较”的签名更新你的问题。对不起,什么是签名?该方法需要位图文件或System.Drawing.BitmapOk,那么什么是certainFile?文件的字符串路径,还是allready是位图对象?ToString调用是多余的。编译器将自己调用,因为它将对字符串使用fitting+操作符重载