为什么要在ImageLocation中使用"str" + x + "str"
。
private void CreateEnemies()
{
Random rnd = new Random();
int x = rnd.Next(1, kindOfEnemies + 1);
PictureBox enemy = new PictureBox();
int loc = rnd.Next(0, panel1.Height - enemy.Height);
enemy.SizeMode = PictureBoxSizeMode.StretchImage;
enemy.ImageLocation = "Aliens/" + x + ".png";
}
我不明白为什么要使用它。
答案 0 :(得分:2)
+
运算符用于添加。如果在字符串上使用它不会添加两个字符串,而是连接它们:
var text = "Hello" + "World" + "String";
Console.WriteLine(text); // Prints "HelloWorldString"
所以上面的代码只是构造一个字符串。由于变量x
不是int类型,因此.Net将自动调用.ToString()
。
int x = 5;
var text1 = "Aliens/" + x +".png"; // is the same as below.
var text2 = "Aliens/" + x.ToString() +".png"; // is the same as above.
Console.WriteLine(text); // Prints "Aliens/5.png"
在C#版本6及更高版本中,您还可以使用字符串插值,这使事情变得更加清晰:
var text1 = $"Aliens/{x}.png"; // is the same as below.
var text2 = $"Aliens/{x.ToString()}.png"; // is the same as above.
使用字符串插值,您可以将变量嵌入到大括号中,将变量嵌入到字符串中。
请注意,字符串必须以$
开头。
答案 1 :(得分:0)
答案 2 :(得分:0)
将字符串连接在一起。所以“Aliens /”+ 'x' +“.png”的字符串值正在“加”在一起。
让我们说:
int x = 1
输出字符串为
"Aliens/1.png"
答案 3 :(得分:0)
这是一种随机化你得到的外星人形象的方法。
您的解决方案有一个名为Aliens
的文件夹,其中包含名为0.png
,1.png
,2.png
的文件,依此类推。每个文件都有一个“外星人”的图像,您的程序会加载到PictureBox
。您的代码使用字符串连接随机选择其中一个文件。
使用C#6和更新版本,您可以使用字符串插值:
enemy.ImageLocation = $"Aliens/{x}.png";