C#使用数字作为字符串

时间:2012-10-14 22:13:03

标签: c#

我需要制作一个程序,从用户那里得到一个3位数字并打印一个6位数字 EX:输入:123 输出:112233

4 个答案:

答案 0 :(得分:3)

使用任意数字的数字执行此操作的一般方法如下所示:

string input = Console.ReadLine();
StringBuilder output = new StringBuilder(input.Length * 2);

foreach (char c in input)
{
   output.append(c);
   output.append(c);
}

Console.WriteLine(output.ToString());

答案 1 :(得分:2)

您可以在LINQ查询中使用Enumerable.Repeat

public static String duplicateChars(IEnumerable<Char> input, int factor)
{
    var chars = from c in input
                from cc in Enumerable.Repeat(c, factor)
                select cc;
    return new String(chars.ToArray());
}

试验:

String result = duplicateChars("123", 2);

演示:http://ideone.com/57KzI

或简短版本:

new String("123".SelectMany(c => Enumerable.Repeat(c, 2)).ToArray());

答案 2 :(得分:0)

我认为你实际上会得到任何数字作为输入,而不是特别是三位数。

你可以这样做:

Console.WriteLine(String.Concat(Console.ReadLine().Select(c => c.ToString() + c.ToString())));

答案 3 :(得分:0)

您也可以使用正则表达式

var reg = Regex.Replace("123", @"\d", @"$&$&");

或作为方法

public static string DuplicateChars(string term)
 {
 return Regex.Replace(term, @"\d", @"$&$&");
 }

相关问题