C#读取文本文件并将值存储在不同的列表中
Posted
技术标签:
【中文标题】C#读取文本文件并将值存储在不同的列表中【英文标题】:C# Read text file and store values in different lists 【发布时间】:2021-04-16 06:42:21 【问题描述】:我有以下问题。我想读取一个文本文件并将值存储在不同的列表中。因此,我创建了一个类,但我在执行任务时遇到了一些问题。
文本文件中的值例如(不包括项目符号):
500 号楼 平200 100号楼 第十册 第五册 平10现在我想创建一个列表屋、列表平面等,并将文本文件中的值存储在此列表中。
谁能帮我解决这个问题?
谢谢。
【问题讨论】:
那么让我们退后一步,你知道如何制作清单吗?你知道如何读取文件吗?你知道如何使用 string.Split 吗? 欢迎来到 Stack Overflow。你能告诉我们你到目前为止尝试了什么以及你坚持什么。这不是编码服务。例如,您是否有定义的数据结构 您好,您提到,您遇到了麻烦。你有什么异常吗?你有没有尝试过什么来完成这个任务?请在此处分享以获取更多信息。 【参考方案1】:这是我迄今为止尝试过的:
static void Main()
const string f = "example.txt";
// 1
// Declare new List.
List<string> lines = new List<string>();
// 2
// Use using StreamReader for disposing.
using (StreamReader r = new StreamReader(f))
// 3
// Use while != null pattern for loop
string line;
while ((line = r.ReadLine()) != null)
// 4
// Insert logic here.
// ...
// "line" is a line in the file. Add it to our List.
lines.Add(line);
// 5
// Print out all the lines.
foreach (string s in lines)
Console.WriteLine(s);
Console.ReadLine();
我能够读取文件并将其打印到屏幕上。但现在我想将列表拆分为不同的列表。
【讨论】:
【参考方案2】:试试这个。
static void Main()
const string f = "example.txt";
// 1
// Declare new List.
List<string> house = new List<string>();
List<string> flat = new List<string>();
List<string> book = new List<string>();
// 2
// Use using StreamReader for disposing.
using (StreamReader r = new StreamReader(f))
// 3
// Use while != null pattern for loop
string line;
while ((line = r.ReadLine()) != null)
var arr = line.Split(' ');
if(arr[0].ToLower()=="house")
house.Add(arr[1]);
if(arr[0].ToLower()=="book")
book.Add(arr[1]);
if(arr[0].ToLower()=="flat")
flat.Add(arr[1]);
// 5
// Print out all the lines.
foreach (string s in lines)
Console.WriteLine(s);
Console.ReadLine();
【讨论】:
以上是关于C#读取文本文件并将值存储在不同的列表中的主要内容,如果未能解决你的问题,请参考以下文章