using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace test4
{
class Program
{
static void Main(string[] args)
{
//定义一个以书名为键作者为值得字典集合
Dictionary<string, string> bookDit = new Dictionary<string, string>();
//用默认的编码方式将本地的数目清单读出来存放到字符串str中
string str = File.ReadAllText(@"F:\VS\VS08\黑马入学测试\test4\books.txt", Encoding.Default);
//输出文本文件中的原始内容
Console.WriteLine("文本文件中的原始内容如下:");
Console.WriteLine(str);
Console.Write("--------------------------------------------------------------------------------");
Console.WriteLine("经过处理后的文本文件中的内容如下:");
//对字符串用空格、\n、\r进行切割并且去掉切割得到的空子字符串
string [] splictArr = str.Split(new char[] {' ','\n','\r'}, StringSplitOptions.RemoveEmptyEntries);
//将书名作为键作者作为值添加到字典集合中
for (int i = 0; i < splictArr.Length; i=i+2)
{
bookDit.Add(splictArr[i], splictArr[i + 1]);
}
//遍历字典集合中的键
foreach(string title in bookDit.Keys)
{
//当键(书名)的长度不超过10时,输出在书名和作者的名字(书名和作者之间用一个竖线作为分隔)
if (title.Length < 10)
{
Console.WriteLine(title + "|" + bookDit[title]);
}
//当键(书名)的长度超过10时,截取长度8的子串并且最后添加“...”,加一个竖线后输出作者的名字
else
{
Console.WriteLine(title.Substring(0, 8) + "..." + "|" + bookDit[title]);
}
}
Console.ReadKey();
}
}
}
楼主 可以参考一下,如有不妥之处请指出。谢谢! |