C# 具有动态选项的控制台菜单

C# 具有动态选项的控制台菜单,c#,C#,我有一个可以在控制台应用程序中打开的文本文件列表 我想要的输出类似于: List1.txt List2.txt List3.txt 等 一旦我得到这个输出,我想要一种能够调用其中一个文件并通过Console.ReadLine()打开它的方法 我现在正在做的是 string[] FileNames = Directory.GetFiles(@"Itemized\", ".txt"); Console.WriteLine(String.Join(Environment.NewLine,FileNam

我有一个可以在控制台应用程序中打开的文本文件列表

我想要的输出类似于:

  • List1.txt
  • List2.txt
  • List3.txt

  • 一旦我得到这个输出,我想要一种能够调用其中一个文件并通过
    Console.ReadLine()打开它的方法

    我现在正在做的是

    string[] FileNames = Directory.GetFiles(@"Itemized\", ".txt");
    Console.WriteLine(String.Join(Environment.NewLine,FileNames));    
    
    这使我能够获得如下列表:

    逐项\List1.txt

    逐项\List2.txt

    逐项\List3.txt

    如果我知道文件夹中的文件数,我可以对其进行硬编码,但问题是可能存在任意数量的文件

    所以,我现在要寻找的是一种方法,在每个文件中附加一个缩放数值,并从前面删除文件夹名称


    我曾尝试使用for循环使其工作,但似乎无法控制它。

    尝试类似的方法

    var fileNames = Directory.GetFiles(@"Itemized\", "*.txt").Select(Path.GetFileName).ToArray();
    Console.WriteLine(string.Join(Environment.NewLine, fileNames));
    

    这里有一些简单明了的东西:

        static void Main(string[] args)
        {
            string dirFolderPath = string.Format("{0}/{1}", Directory.GetCurrentDirectory(), "Itemized");
            DirectoryInfo dir = new DirectoryInfo(dirFolderPath);
    
            if(!dir.Exists)
            {
                dir.Create();
            }
    
            FileInfo[] files = dir.GetFiles("*.txt");
    
            for(int i = 0; i < files.Length; i++)
            {
                string line = string.Format("\n{0}-{1}", i, files[i].Name);
                Console.WriteLine(line);   
            }
    
            Console.ReadLine();
        }
    
    static void Main(字符串[]args)
    {
    string dirFolderPath=string.Format(“{0}/{1}”,Directory.GetCurrentDirectory(),Itemized”);
    DirectoryInfo dir=新的DirectoryInfo(dirFolderPath);
    如果(!dir.存在)
    {
    dir.Create();
    }
    FileInfo[]files=dir.GetFiles(“*.txt”);
    for(int i=0;i
    这看起来很神奇,测试出来这正是我想要的!非常感谢:)只有当我删除
    “*.txt”
    知道原因吗?所有内容都显示为文本文档,当我将其删除时,列表中的表单将不显示它们。不管怎样,你帮我更接近我想要的upvote@Spooler对我来说效果很好。我的示例中唯一的问题是,您没有得到任何行号。要实现这一点,您必须使用类似@Ephraim used itYea的for循环输出
    文件名
    ,这就是他得到接受答案的原因(显示了for循环以添加值)。无论如何,现在是时候让我想一想如何为这个菜单提供用户交互了