gpt4 book ai didi

string - StreamReader 的行到字符串数组

转载 作者:行者123 更新时间:2023-12-01 08:14:18 28 4
gpt4 key购买 nike

我想要一个 string[]分配了一个 StreamReader .喜欢:

try{
StreamReader sr = new StreamReader("a.txt");
do{
str[i] = sr.ReadLine();
i++;
}while(i < 78);
}
catch (Exception ex){
MessageBox.Show(ex.ToString());
}

我可以做到,但不能使用字符串[]。我想做这个:
MessageBox.Show(str[4]);

如果您需要更多信息,请随时询问,我会更新。
提前致谢...

最佳答案

如果你真的想要一个字符串数组,我会稍微不同地处理这个。假设你不知道你的文件中有多少行(我忽略了你的 78 行硬编码值),你不能创建 string[]正确尺寸的前面。

相反,您可以从一组字符串开始:

var list = new List<string>();

将您的循环更改为:
using (var sr = new StreamReader("a.txt"))
{
string line;
while ((line = sr.ReadLine()) != null)
{
list.Add(line);
}
}

然后从您的列表中请求一个字符串数组:
string[] result = list.ToArray();

更新

灵感来自 Cuong's answer ,你绝对可以缩短这个。我已经忘记了 File 上的这颗 gem 类(class):
string[] result = File.ReadAllLines("a.txt");

什么 File.ReadAllLines实际上与我上面提供的代码相同,除了 Microsoft 使用 ArrayList而不是 List<string> ,最后他们返回一个 string[]阵列通过 return (string[]) list.ToArray(typeof(string)); .

关于string - StreamReader 的行到字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12633815/

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