-9

这两个+符号在我的代码之间xmin和之间是什么意思?ymin

为什么有两个“+”?

grenzen = "(" + xmin + ", " + ymin + ") - " + "(" + xmax + ", " + ymax + ").";
4

7 回答 7

12

它将两个字符串连接成一个从文档中:

连接是将一个字符串附加到另一个字符串末尾的过程。当您使用 + 运算符连接字符串文字或字符串常量时,编译器会创建一个字符串。不会发生运行时连接。但是,字符串变量只能在运行时连接。在这种情况下,您应该了解各种方法的性能影响。

StringBuilder在您的情况下,使用[MSDN]string.Format[MSDN]string.Concat[MSDN]会更有效,因为字符串是不可变的,因此每个连接运算符都会生成一个全新的字符串对象。

于 2013-06-10T13:01:00.567 回答
6

这是字符串连接。你也可以这样做:

string.Format("({0}, {1}) - ({2}, {3}).", xmin, ymin, xmax, ymax);

并获得相同的结果 - 但它更有效更具可读性。考虑这一点,当您执行此操作时:

"(" + xmin;

这是一个比上面的操作小得多的操作,在内部.NET 必须首先分配一个长度为 1 个字符的数组,然后它会评估字符串长度,xmin然后构建一个新数组,该数组的长度是这两个数组的长度,将第一个数组复制到其中,并将结果填充到xmin最后。

但是,由于string.Format它能够预先计算数组的大小,因此只需要一次分配行程,从而使其效率更高。

另一种方法,至少比字符串连接更有效,是利用 aStringBuilder因为它是可变的:

StringBuilder sb = new StringBuilder();
sb.Append("(");
sb.Append(xmin);
...

这比字符串连接更有效的原因是,当您向其中添加字符串时,StringBuilder它的容量会超过您添加的容量。例如,如果我添加一个字符,它可能会将其容量扩展到二十个。注意:这不是实际的算法,我只是想给你一个想法。

于 2013-06-10T13:02:02.197 回答
5

'+' 用于 c# 中的字符串连接

例如。

string x = "1";
string y = "2";
string z = "3";
string all = x + y + z;

all="123"

'+' 的使用也可以通过以下方式完成:

x += y;
于 2013-06-10T13:01:32.183 回答
2

这里+的符号用于字符串连接。

string message="This "+ "is" +" my "+" book";

输出:这是我的书

于 2013-06-10T13:01:24.340 回答
1

它是连接两个字符串的连接运算符

于 2013-06-10T13:03:45.683 回答
0

这里是连接字符串。

在 C# 中+有两种工作方式

如果两个操作数都是数字,2 + 3它的结果是5

如果一个或两个操作数是/是字符串,则它会连接,例如'First' + 'Name'其结果是"FirstName"

于 2013-06-10T13:02:47.707 回答
0

考虑更仔细地查看代码。变量的类型和对象说明了允许哪些操作。考虑到这一点,变量必须具有字符串运算符,因此可以很好地猜测它是字符串。

(也来自德国)

于 2013-06-10T13:06:02.293 回答