字符串索引和第一个字母调用

时间:2016-08-09 07:26:52

标签: c#

如果我在运行时写'a',程序应显示存储在文本文件中的所有以'a'开头的名称。

每当我写任何字母时,都应显示以该字母开头的名字。

string contents = File.ReadAllText("Data.txt");
foreach (var line in File.ReadLines("Data.txt")) ;

1 个答案:

答案 0 :(得分:2)

我认为你的意思是你只想选择以给定输入开头的罚款线(每条线代表一个名字)(例如a

string input = Console.ReadLine();

var result = File.ReadLines("data.txt").Where(line => line.StartsWith(input)).ToList();

一键显示你可以使用的所有名字:

Console.WriteLine(String.Join("\n", result));

如果文件中的每一行都包含多个名称,则可以将其拆分为:(对于此示例,名称之间的分隔方式为,):

string input = Console.ReadLine();

var result = File.ReadLines("data.xml")
                 .SelectMany(line => line.Split(','))
                 .Select(name => name.Trim())
                 .Where(line => line.StartsWith(input)).ToList();