使用文件读取将整数添加到列表或数组
Add integers to a list or array with filereading
我有一个包含一些数字的 .txt 文件
File:
1
2
3
4
我想要一个方法来读取这些数字并将它们添加到列表或数组中,该列表或数组将在消息框中显示。
我现在有这个:
public void LaadVrijeKamers()
{
int KamerNummers = Convert.ToInt32(File.ReadAllText(@"x\Vrijekamers.txt"));
MessageBox.Show(Convert.ToString(KamerNummers));
}
我收到一条荷兰语错误消息:
Can not read the characters
我认为 File.ReadAllText 仅适用于字符串,但我不确定。可能我转换错了。
File.ReadAllLines() returns an array of strings. Convert.ToInt32 取一个字符串。
您需要遍历文件中的每个字符串并一次转换一个。
File.ReadAllText
失败,因为它 returns 所有不能转换为整数的文本。您应该尝试以下操作:
int intList = File.ReadAllLines()
-- get only lines with numbers
.Where(l => {
int val;
bool isOk = int.TryParse(l, out value);
return isOk;
}
-- actual conversion
.Select(l => Convert.ToInt32(l)
.ToList();
好吧,您可以在这里组合使用 LINQ 方法:
public void LaadVrijeKamers()
{
var KamerNummers = File.ReadAllLines(@"x\Vrijekamers.txt")
.Skip(1) //Skips file header (if needed)
.Select(Int32.Parse) //Converts to int
.ToList(); //Returns List
// To display numbers we'd first have to create a string from our list
MessageBox.Show(string.Concat(KamerNummers.Select(n => n.ToString() + ", ")));
}
尝试逐行读取并将字符串转换为整数:
var numbers = File.ReadLines(@"C:\path\numbers.txt").Select(int.Parse).ToList();
没有 Linq 查询
var rows = File.ReadAllText(@"x\Vrijekamers.txt");
var strnumbers = rows.Split(new string[] { "\r\n" }, StringSplitOptions.None);
var ListOfNumber = new List<int>();
foreach (string number in strnumbers)
{
int num = 0;
if(int.TryParse(number, out num))
ListOfNumber.Add(num);
}
我有一个包含一些数字的 .txt 文件
File:
1
2
3
4
我想要一个方法来读取这些数字并将它们添加到列表或数组中,该列表或数组将在消息框中显示。
我现在有这个:
public void LaadVrijeKamers()
{
int KamerNummers = Convert.ToInt32(File.ReadAllText(@"x\Vrijekamers.txt"));
MessageBox.Show(Convert.ToString(KamerNummers));
}
我收到一条荷兰语错误消息:
Can not read the characters
我认为 File.ReadAllText 仅适用于字符串,但我不确定。可能我转换错了。
File.ReadAllLines() returns an array of strings. Convert.ToInt32 取一个字符串。
您需要遍历文件中的每个字符串并一次转换一个。
File.ReadAllText
失败,因为它 returns 所有不能转换为整数的文本。您应该尝试以下操作:
int intList = File.ReadAllLines()
-- get only lines with numbers
.Where(l => {
int val;
bool isOk = int.TryParse(l, out value);
return isOk;
}
-- actual conversion
.Select(l => Convert.ToInt32(l)
.ToList();
好吧,您可以在这里组合使用 LINQ 方法:
public void LaadVrijeKamers()
{
var KamerNummers = File.ReadAllLines(@"x\Vrijekamers.txt")
.Skip(1) //Skips file header (if needed)
.Select(Int32.Parse) //Converts to int
.ToList(); //Returns List
// To display numbers we'd first have to create a string from our list
MessageBox.Show(string.Concat(KamerNummers.Select(n => n.ToString() + ", ")));
}
尝试逐行读取并将字符串转换为整数:
var numbers = File.ReadLines(@"C:\path\numbers.txt").Select(int.Parse).ToList();
没有 Linq 查询
var rows = File.ReadAllText(@"x\Vrijekamers.txt");
var strnumbers = rows.Split(new string[] { "\r\n" }, StringSplitOptions.None);
var ListOfNumber = new List<int>();
foreach (string number in strnumbers)
{
int num = 0;
if(int.TryParse(number, out num))
ListOfNumber.Add(num);
}