这两个+
符号在我的代码之间xmin
和之间是什么意思?ymin
为什么有两个“+”?
grenzen = "(" + xmin + ", " + ymin + ") - " + "(" + xmax + ", " + ymax + ").";
它将两个字符串连接成一个。从文档中:
连接是将一个字符串附加到另一个字符串末尾的过程。当您使用 + 运算符连接字符串文字或字符串常量时,编译器会创建一个字符串。不会发生运行时连接。但是,字符串变量只能在运行时连接。在这种情况下,您应该了解各种方法的性能影响。
StringBuilder
在您的情况下,使用[MSDN]、string.Format
[MSDN]或string.Concat
[MSDN]会更有效,因为字符串是不可变的,因此每个连接运算符都会生成一个全新的字符串对象。
这是字符串连接。你也可以这样做:
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
它的容量会超过您添加的容量。例如,如果我添加一个字符,它可能会将其容量扩展到二十个。注意:这不是实际的算法,我只是想给你一个想法。
'+' 用于 c# 中的字符串连接
例如。
string x = "1";
string y = "2";
string z = "3";
string all = x + y + z;
给all="123"
'+' 的使用也可以通过以下方式完成:
x += y;
这里+
的符号用于字符串连接。
string message="This "+ "is" +" my "+" book";
输出:这是我的书
它是连接两个字符串的连接运算符
这里是连接字符串。
在 C# 中+
有两种工作方式
如果两个操作数都是数字,2 + 3
它的结果是5
和
如果一个或两个操作数是/是字符串,则它会连接,例如'First' + 'Name'
其结果是"FirstName"
。
考虑更仔细地查看代码。变量的类型和对象说明了允许哪些操作。考虑到这一点,变量必须具有字符串运算符,因此可以很好地猜测它是字符串。
(也来自德国)