我有一个变量:
string variable1;
我正试图做这样的事情:
for (int i = 0; i < 299; i += 2)
{
variable1 = variable1 && IntToHex(buffer[i]);
}
IntToHex是一个字符串函数,因此“IntToHex(buffer [i])”的结果将是字符串。但它出现了一个错误,说我不能使用&amp;&amp;。有没有解决方案将字符串添加到另一个字符串?谢谢!
答案 0 :(得分:13)
只需使用+
运算符:
variable1 = variable1 + IntToHex(buffer[i]);
您还需要初始化variable1
:
string variable1 = string.Empty;
或
string variable1 = null;
但请考虑使用StringBuilder
,因为它效率更高:
StringBuilder builtString = new StringBuilder();
for (int i = 0; i < 299; i += 2)
{
builtString.Append(IntToHex(buffer[i]));
}
string variable1 = builtString.ToString();
答案 1 :(得分:4)
在C#中,只需使用+
来连接字符串:
variable1 = variable1 + IntToHex(buffer[i]);
但更重要的是,这种情况需要StringBuilder。
var buffer = new StringBuilder();
for (int i = 0; i < 299; i += 2)
{
buffer.Append( IntToHex(buffer[i]) );
}
string variable1 = buffer.ToString();
对于100或更多的循环,这确实在性能上有很大的不同。
答案 2 :(得分:2)
variable1 = variable1 + IntToHex(buffer[i]);
然而,这可能更好:
var sb = new StringBuilder();
for (int i = 0; i < 299; i += 2)
{
sb.Append(IntToHex(buffer[i]));
}
variable1 = sb.ToString();
答案 3 :(得分:2)
variable1 += IntToHex(buffer[i]);
答案 4 :(得分:2)
你可以使用+
运算符进行字符串连接,但在循环(details)中使用它不是一个好主意。
使用StringBuilder
:
StringBuilder builder = new StringBuilder(299 * 4); // Or whatever
for (int i = 0; i < 299; i += 2)
{
builder.Append(IntToHex(buffer[i]));
}
string combined = builder.ToString();
或者可能使用string.Join
- 在这种情况下,考虑到你的循环,它可能不太实际,但在其他情况下它会很棒。你仍然可以在这里使用它,如下所示:
string combined = string.Join("", Enumerable.Range(0, 149)
.Select(i => IntToHex(buffer[i * 2])));
答案 5 :(得分:1)
有多种方法可以将字符串添加到字符串中。你可以使用一个简单的+功能,在大多数情况下不推荐使用。 string.concat和string.format是添加字符串的首选方法。 stringBuilder类也可用于将大部分字符串添加到一起
答案 6 :(得分:1)
你需要使用+来连接c#
中的字符串for (int i = 0; i < 299; i += 2)
{
variable1 = variable1 + IntToHex(buffer[i]);
}
但是StringBuilder在这里是个不错的选择...
StringBuilder sb = new StringBuilder("");
for (int i = 0; i < 299; i += 2)
{
sb= sb.Append(IntToHex(buffer[i]));
}