本帖最后由 重新开始 于 2013-10-22 09:45 编辑
想把代码精简一下,但没想到合适方法,那位能帮我把下边重复的代码再精简一下。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
namespace test7
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("输入中文日期,如:二零一二年十二月月二十一日");
//取得中文日期
string str = Console.ReadLine();
//将取得的日期分割为年月日三段,并存入数组。
string[] strsp = str.Split('年', '月', '日');
//使用遍历将三段年月日替换成数字时间
for (int n = 0; n < 3;n++ )
{
foreach (char i in strsp[n])
{
if (n==2&&3== strsp[2].Length)
{
#region
if ('零' == i)
{
Console.Write(0);
}
if ('一' == i)
{
Console.Write(1); ;
}
if ('二' == i)
{
Console.Write(2);
}
if ('三' == i)
{
Console.Write(3);
}
if ('四' == i)
{
Console.Write(4);
}
if ('五' == i)
{
Console.Write(5);
}
if ('六' == i)
{
Console.Write(6);
}
if ('七' == i)
{
Console.Write(7);
}
if ('八' == i)
{
Console.Write(8);
}
if ('九' == i)
{
Console.Write(9);
}
#endregion
}
else
{
#region
if ('零' == i)
{
Console.Write(0);
}
if ('一' == i||'十'==i)
{
Console.Write(1); ;
}
if ('二' == i)
{
Console.Write(2);
}
if ('三' == i)
{
Console.Write(3);
}
if ('四' == i)
{
Console.Write(4);
}
if ('五' == i)
{
Console.Write(5);
}
if ('六' == i)
{
Console.Write(6);
}
if ('七' == i)
{
Console.Write(7);
}
if ('八' == i)
{
Console.Write(8);
}
if ('九' == i)
{
Console.Write(9);
}
#endregion
}
}
if (n!=2)
{
Console.Write('-');
}
}
Console.ReadKey();
}
}
}
|