当我写所有数组内容时,我试图在C#控制台中实现下一页效果。很好,它可以正常工作,但是,为了使其正常工作,我使用了异常(我并不为此感到骄傲)。我正在寻找一种无例外的方法。
using
语句(我不知道该代码中使用了哪些语句):
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Diagnostics;
using System.IO;
using System.Threading;
using System.Text.RegularExpressions;
这部分基本上是关于从文件夹中获取某些文件的名称。这只是为了提供更多信息,可以跳过:
string scLoc = AppDomain.CurrentDomain.BaseDirectory + @"shortcuts";
string[] directory = Directory.GetFiles(scLoc);
foreach (var filed in directory)
{
System.IO.File.Move(filed, filed.ToLowerInvariant());
}
string[] file = Directory.GetFiles(scLoc).Select(System.IO.Path.GetFileNameWithoutExtension).ToArray();
foreach (string dir in directory)
{
}
这是有问题的部分:
List<string> prgList = new List<string>();
foreach (string fdir in file)
{
prgList.Add(fdir);
}
string[] prgListArr = prgList.ToArray();
UInt16 fileAmoutToReach = 0;
UInt16 prgName = 0;
while (fileAmoutToReach <= file.Length) //gotta fix this
{
try
{
for (UInt16 i = Convert.ToUInt16(Console.CursorTop); i < Convert.ToUInt16(Console.WindowHeight - 1); i = Convert.ToUInt16(Console.CursorTop))
{
Console.WriteLine(prgListArr[prgName]);
prgName++;
fileAmoutToReach++;
}
}
catch (Exception)
{
Console.Write("Press any key to continue");
inputedKey = Console.ReadKey(true);
break;
}
Console.Write("Press any key to resume the listing");
inputedKey = Console.ReadKey(true);
if (inputedKey.Key == ConsoleKey.Escape)
{
break;
}
Console.Clear();
}