我的代码中+
和xmin
之间的两个ymin
符号是什么意思?
为什么有两个“+”?
grenzen = "(" + xmin + ", " + ymin + ") - " + "(" + xmax + ", " + ymax + ").";
答案 0 :(得分:12)
它concatenates两个字符串合为一个。来自文档:
连接是将一个字符串附加到末尾的过程 另一个字串。连接字符串文字或字符串时 常量使用+运算符,编译器创建一个 串。没有运行时连接发生。但是,字符串变量 只能在运行时连接。在这种情况下,你应该 了解各种方法的性能影响。
在您的情况下,使用StringBuilder
[MSDN] ,string.Format
[MSDN] 会更有效率,或string.Concat
[MSDN] ,因为字符串是不可变的,因此,每个连接运算符都会产生一个全新的字符串对象。
答案 1 :(得分:6)
这是字符串连接。你也可以这样做:
string.Format("({0}, {1}) - ({2}, {3}).", xmin, ymin, xmax, ymax);
并获得相同的结果 - 但它更有效和更具可读性。当您执行此操作时请考虑这一点:
"(" + xmin;
这是一个比你上面小得多的操作,内部.NET必须首先分配一个长度为1个字符的数组,然后它将评估xmin
的字符串长度,然后构建一个新的数组这两个在一起的长度,将第一个数组复制到其中,并在最后填充xmin
的结果。
然而,使用string.Format
,它可以预先计算数组的大小,因此只需要一次分配行程,使其更多更有效。
另一种方式,即至少比字符串连接更有效,是利用StringBuilder
,因为它是可变的:
StringBuilder sb = new StringBuilder();
sb.Append("(");
sb.Append(xmin);
...
这比字符串连接更有效的原因是因为当您向StringBuilder
添加字符串时,它会将其容量扩展到您添加的容量之外。例如,如果我添加了一个字符,它可能会将其容量扩展到20个。 注意:这不是实际的算法,我只想给你一个想法。
答案 2 :(得分:5)
'+'用于c# E中的字符串连接。
string x = "1";
string y = "2";
string z = "3";
string all = x + y + z;
给出all="123"
使用'+'也可以通过以下方式进行:
x += y;
答案 3 :(得分:2)
此处+
符号用于字符串连接。
string message="This "+ "is" +" my "+" book";
输出:这是我的书
答案 4 :(得分:1)
它是一个连接两个字符串的连接运算符
答案 5 :(得分:0)
这里是连接字符串。
在C#+
中有两种方式
如果两个操作数都是2 + 3
,其结果为5
且
如果一个或两个操作数是/ 'First' + 'Name'
之类的字符串,其结果为"FirstName"
,则它会连接。
答案 6 :(得分:0)
考虑更仔细地查看代码。变量的类型以及对象说明允许哪些操作。考虑到这一点,变量必须有字符串运算符,因此很好地猜测它是字符串。
(也来自德国)