gpt4 book ai didi

c# - 在文本文件中读取更多 'intelligently'

转载 作者:太空狗 更新时间:2023-10-30 00:52:01 27 4
gpt4 key购买 nike

我有一个文本文件,其中包含一个按字母顺序排列的变量列表,变量编号旁边的变量编号格式如下:

aabcdef           208
abcdefghijk 1191
bcdefga 7
cdefgab 12
defgab 100
efgabcd 999
fgabc 86
gabcdef 9
h 11
ijk 80
...
...

我想将每个文本作为一个字符串读取并保留它的指定 id# 类似于读取“aabcdef”并将其存储到一个数组中的 208 点。

我遇到的两个问题是:

  1. 我从来没有在 C# 中读取过文件,有没有办法读取,比如从行首到空格作为字符串?然后下一个字符串为一个 int 直到行尾?

  2. 鉴于这些文件的性质和大小,我不知道每个文件的最高 ID 值(并非所有数字都被使用,所以一些文件可以包含 3000 这样的数字,但实际上只列出 200变量)那么我怎样才能灵活地存储这些当我不知道数组/列表/堆栈/等有多大时的变量。需要。

最佳答案

基本上您需要一个 Dictionary 而不是数组或列表。您可以使用 File.ReadLines 方法读取所有行,然后根据空格和\t(制表符)拆分每一行,如下所示:

var values = File.ReadLines("path")
.Select(line => line.Split(new [] { ' ', '\t' }, StringSplitOptions.RemoveEmptyEntries))
.ToDictionary(parts => int.Parse(parts[1]), parts => parts[0]);

然后 values[208] 会给你 aabcdef。它看起来像一个数组,不是吗 :)

还要确保没有重复的数字,因为 Dictionary 键应该是唯一的,否则会出现异常。

关于c# - 在文本文件中读取更多 'intelligently',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23899358/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com