我正在做一个连接c#
,我希望结果等于以下内容:
variable = "null,null"
但我在 a 中进行这种连接,for
它看起来或多或少像这样:
string variable = "";
for (int pos= 0; pos < asientos.Length; pos++)
{
if (pos == asientos.Length - 1)
variable += "null";
else
variable += "null" + ",";
}
我在迭代中放置的if
那个,
是最后不添加 (comma),现在的问题或者更确切地说是怀疑,是否有更好的方法在该连接中进行验证?如果有,什么是吗??
我建议您使用
String.Join
,因此您可以避免创建循环for
,并且您的代码更清晰、更易于维护。这里我提供一个例子:嗨,你可以使用remove吗,这样你就可以删除你不需要的最后一个字符:
为了实现这一点,我看到了两个选项:
选项 1(经典)
这个实现的关键是:
System.Text.StringBuilder
来连接链,因为它比连接对象更优化,因为它是string
不可变的,每次连接都会执行内存重新分配选项 2(紧凑型)
这个实现的关键是:
System.Linq.Enumerable.Repeat
根据需要多次创建“null”数组(需要 .NET >= 4.0)string.Join
生成最终字符串可以在这个.NET Fiddle中看到这些示例
我真的不知道选项 1 是否可以提供更高的性能,但很明显选项 2 更紧凑
这可能是一个解决方案:
如果变量
asientos
对应aarray
,你应该使用的方法Join
。String
例子:
现在,如果您特别想要该值
null
,请参阅将变量声明为 int 然后为其分配一个字符串,我会这样做:稍微编辑一下关于“变量”定义的问题必须是 type
String
。我认为您可以使用 a
remove()
作为@WilfredoP 评论或substring()
,例如:我认为没有人提到的另一种选择是:
1) 连接数组的所有元素和一个逗号(最后一个元素除外)。
2)在循环之外连接最后一个元素(当然没有逗号)。
代码如下所示: