“str”+ x +“str”是什么意思?

时间:2017-07-24 16:51:43

标签: c# string-concatenation

为什么要在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";

    }

我不明白为什么要使用它。

4 个答案:

答案 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.png1.png2.png的文件,依此类推。每个文件都有一个“外星人”的图像,您的程序会加载到PictureBox。您的代码使用字符串连接随机选择其中一个文件。

使用C#6和更新版本,您可以使用字符串插值:

enemy.ImageLocation = $"Aliens/{x}.png";