迁移到控制台应用程序和用户输入
我使用的是C#.NET应用程序,但我想把它移植到C#控制台应用程序迁移到控制台应用程序和用户输入
类:
static class StringExtensions
{
public static IEnumerable<String> SplitInParts(this String s, Int32 partLength)
{
if (s == null)
throw new ArgumentNullException("s");
if (partLength <= 0)
throw new ArgumentException("Part length has to be positive.", "partLength");
for (var i = 0; i < s.Length; i += partLength)
yield return s.Substring(i, Math.Min(partLength, s.Length - i));
}
}
电话:
var parts = "32427237".SplitInParts(3);
Console.WriteLine(String.Join(" ", parts));
//输出是324 272 37
所以我想给用户输入数值,例如123456789和split outpu t是123 456 789,我该如何在控制台应用程序上做到这一点?
------------------------------ UPDATE --------------- ---------------------------
完整代码:
namespace prw
{
class Program
{
public static IEnumerable<String> SplitInParts(this String s, Int32 partLength)
{
if (s == null)
throw new ArgumentNullException("s");
if (partLength <= 0)
throw new ArgumentException("Part length has to be positive.", "partLength");
for (var i = 0; i < s.Length; i += partLength)
yield return s.Substring(i, Math.Min(partLength, s.Length - i));
}
private static void Main(string[] args)
{
var input= Console.ReadLine();
var parts = input.SplitInParts(3);
Console.WriteLine(String.Join(" ", parts));
}
}
}
class Program
{
private static void Main(string[] args)
{
var input= Console.ReadLine();
var parts = input.SplitInParts(3);
Console.WriteLine(String.Join(" ", parts));
}
}
public static class Util
{
public static IEnumerable<String> SplitInParts(this String s, Int32 partLength)
{
if (s == null)
throw new ArgumentNullException("s");
if (partLength <= 0)
throw new ArgumentException("Part length has to be positive.", "partLength");
for (var i = 0; i < s.Length; i += partLength)
yield return s.Substring(i, Math.Min(partLength, s.Length - i));
}
}
我有一个代码错误...当我声明这个字符串s时,它说扩展方法只能在非泛型,非嵌套静态类中声明。我上传我的代码 –
@Gerardo Ventas我改变了代码 – Arash
优秀,坦克你这么多! @Arash jo –
使用到Console.ReadLine()! – Arash
但如果我想创建新的控制台proyect,只需复制我的代码并更改读线的writeline? –