我需要将字符串分成 2 个,每个变量一个字母。
示例:字符串 =“ABCDEFGHIJ” 名称1:ACEGI 名称2:BDFHJ
到目前为止我已经完成了:
var builderM = new StringBuilder();
var builderK = new StringBuilder();
for (int i = 0; i < s.Length; i++)
{
builderM.Append(s[i]);
builderK.Append(s[i++]);
}
txtM.Text = builderM.ToString();
txtK.Text = builderK.ToString();
但它在 2 中显示相同的文本。
最佳答案
你应该使用++i
而不是i++
for (int i = 0; i < s.Length; i++)
{
builderM.Append(s[i]);
if(i + 1 < s.Length) // to prevent IOR exception when count is odd.
builderK.Append(s[++i]); // pre increment.
}
原因是i++
是后递增的。这意味着 i
在表达式之后递增,因此 s[i++]
将为您提供与 s[i]
相同的项目。
关于c# split string in 2. 逐个字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46165887/