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

C# 字符串索引和第一个字母调用,c#,C#,如果我在运行时写入'a',程序应该显示存储在文本文件中的所有以'a'开头的名称 每当我写任何字母时,都应该显示以该字母开头的姓名 string contents = File.ReadAllText("Data.txt"); foreach (var line in File.ReadLines("Data.txt")) ; 我假设您的意思是,您只想从罚款中选择以给定输入(例如a)开头的行(每行代表一个名称) 要一次性显示所有名称,您可以使用: Console.WriteLine(String

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

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

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

我假设您的意思是,您只想从罚款中选择以给定输入(例如
a
)开头的行(每行代表一个名称)

要一次性显示所有名称,您可以使用:

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

如果文件中的每一行包含多个名称,则可以按如下方式拆分:(对于本例,名称之间的分隔方式是
):


请更好地解释你的问题……展示你的尝试。我试着编辑你的问题,这样你的问题就更清楚了,但是你还是需要自己努力。我是说,我在文本文件中存储了这么多的名字,现在我想显示所有以“a”或任何其他字母开头的名字,我该怎么办?回答得好,我也想到了;由于op似乎想要显示它,我将添加:
Console.WriteLine(String.Join(“\n”,result)) @ MongZhu -建议编辑,我会接受它:你应得的:P@Sayse-是的,但从他的描述来看,似乎是这样。否则,他还应该指定一个分隔符,这样我就可以通过..@Sayse进行拆分-我在机器上测试的文件扩展名是.xml,但它对结果没有任何影响-它只将其作为简单文本读取file@Sayse-同意你的问题是真的不清楚。关于xml——我的意思是扩展名是.xml,但它有没有xml标记的纯文本
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();