如何在c#中自动添加符号?

如何在c#中自动添加符号?,c#,C#,我开始用C#编程,有个问题: 我有一个字符串,如abcdef123456789。但是字符串太长,因此我想在第二、第四、第六个之后自动添加:。。。。象征 我怎样才能做到这一点呢?没有内置的方法可以做到这一点。你只需要在字符串中循环放置分隔符 您可以循环浏览字符并将其放入StringBuilder,在每个字符处添加冒号: string input = "abcdef123456789"; StringBuilder builder = new StringBuilder(); int cnt =

我开始用C#编程,有个问题:

我有一个字符串,如
abcdef123456789
。但是字符串太长,因此我想在第二、第四、第六个之后自动添加
。。。。象征


我怎样才能做到这一点呢?

没有内置的方法可以做到这一点。你只需要在字符串中循环放置分隔符

您可以循环浏览字符并将其放入
StringBuilder
,在每个字符处添加冒号:

string input = "abcdef123456789";

StringBuilder builder = new StringBuilder();
int cnt = 0;
foreach (char c in input) {
  if (cnt == 2) {
    builder.Append(':');
    cnt = 0;
  }
  builder.Append(c);
  cnt++;
}
string output = builder.ToString();

您可以使用StringBuilder执行以下操作:

string sourceStr = "123456789";
StringBuilder s = new StringBuilder();
foreach(char c in sourceStr){
    s.append(c);
    s.append(":");
}

你可以试试这种方法。我试图使它尽可能可读,所以希望它对您有意义

var s = "abcdef123456789";

var charsChanged = new List<char>();

for (var i = 0; i < s.Length; i++)
{
    charsChanged.Add(s[i]);

    var evenCharacter = i % 2 != 0;
    var atEndOfString = i == s.Length - 1;

    if (evenCharacter && !atEndOfString)
    {
        charsChanged.Add(':');
    }
}

var updatedString = string.Concat(charsChanged));
var s=“abcdef123456789”;
var charsChanged=新列表();
对于(变量i=0;i
updatedString
将等于
ab:cd:ef:12:34:56:78:9


这种方法使用模运算符(
%
)来确定我们是处于偶数字符还是奇数字符。有关更多示例,请查看。

很难理解您的问题。也许发布一些你有问题的代码?这有助于我理解你的问题。我也很难弄清楚你到底在问什么。“太长”怎么说?对什么来说太长了?和“添加”:“自动”?与什么相反,手动操作?在这种情况下,“:”的用途是什么?使用while循环和一些字符串逻辑插入冒号。你想让我们做你的家庭作业吗?字符串太长了,这只是一个表达式,先生们,他想每2个字符用一个分隔符把它切成碎片。。。然后我同意,我们现在确实在做一些人的编码作业,事实上他们自己应该在第一时间发布问题之前花更多的时间在他们的英语作业上。每个字符后面都有一个分隔符是的,但他的问题是模糊的。