我是C#的新手,我正在处理文本格式化。我稍微离开了课程计划,以格式化用户输入的电话号码。虽然程序编译并运行,但在输入内容时会崩溃。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Strings
{
class Program
{
static void Main(string[] args)
{
int PhoneNumber = Convert.ToInt32(Console.ReadLine());
string myString = string.Format("Phone Number: {0:(###) ###-####}", PhoneNumber);
Console.WriteLine(myString);
Console.ReadLine();
}
}
}
答案 0 :(得分:1)
您的代码存在的问题是,int
(Int32
)的最大值为2147483647,可能小于您输入的电话号码,导致其崩溃{ {1}}。
将OverflowException
更改为int
:
long
但我建议阅读并将电话号码保留在long PhoneNumber = Convert.ToInt64(Console.ReadLine());
string myString = string.Format("Phone Number: {0:(###) ###-####}", PhoneNumber);
Console.WriteLine(myString);
Console.ReadLine();
,因为整数作为数据类型并不合理。