我希望能够从文本文件中读取数字并将其存储在字符串数组中,以将其显示在listBox中。
这是代码:
string[] filePath = @"C:Site\Project3\Sales.txt";
foreach (string val in filePath)
{
listBoxValues.Items.Add(val.ToString());
}
答案 0 :(得分:1)
更新
您本质上不需要parse
,如果您只想从文件中读取列表框而不验证数字,则下面的方法应该起作用
listBoxValues.Items.AddRange(File.ReadAllLines("soemFile.txt"));
原始
就这么简单
listBoxValues.Items.AddRange(File.ReadAllLines("soemFile.txt")
.Select(int.Parse)
.ToList());
注意:这不会检查空行
打开一个文本文件,将文件的所有行读入字符串数组, 然后关闭文件。
Enumerable.Select Method (IEnumerable, Func)
将序列的每个元素投影为新形式。
将数字的字符串表示形式转换为其32位带符号 等价的整数。
答案 1 :(得分:0)
您可以这样做:
public List<string> ToList(string filePath)
{
// Identifiers used are:
var valueList = List<string>();
var fileStream = new StreamReader(filePath);
string line;
// Read the file line by line
while ((line = fileStream.readLine()) != null)
{
// Split the line by the deliminator (the line is a single value)
valueList.Add(line);
}
}
或者您也可以尝试这样的方法以更笼统:
public List<string> ToList(string filePath, char deliminator=',')
{
// Identifiers used are:
var valueList = List<string>();
var fileStream = new StreamReader(filePath);
string line;
// Read the file line by line
while ((line = fileStream.readLine()) != null)
{
// Split the line by the deliminator
var splitLine = line.Split(deliminator);
foreach (string value in splitLine)
{
valueList.Add(value);
}
}
}
然后您可以使用它来填充列表框。这不是最有效的方法,但它应该适合您的情况,并且可以根据需要进行构建。