将数字从文件读取到数组,并为每个元素添加一个数字
本文关键字:数字 添加 元素 一个 读取 文件 数组 | 更新日期: 2023-09-27 18:33:05
我希望这段代码从用户给出的文件中读取数字并将数字写入数组,以便为每个元素添加另一个常量值(如 1)并将其写回某处的文件。
这是我的代码,但我不知道它有什么问题:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections;
using System.IO;
namespace ConsoleApplication3
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Reading and Writng Back");
string[] arr;
Console.WriteLine("Where the file is located?(Enter the full directory path!)");
string filePath = Console.ReadLine();
arr = File.ReadAllLines(filePath);
int[] myInts = arr.Select(int.Parse).ToArray();
for (int j = 0; j <= myInts.Length; j++)
{
myInts[j] += myInts[j + 1];
}
string result = string.Join(",", myInts);
File.WriteAllText(Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + Path.DirectorySeparatorChar + "Final.txt", result);
}
}
}
您adding
下一个元素而不是constant
:
myInts[j] = myInts[j] + 1;
此外,您的循环条件将抛出一个数组越界异常,请修复它:
for (int j = 0; j < myInts.Length; j++) //just remove "="
我想你的意思是myInts[j] += myConst;
这是myInts[j] = myInts[j] + myConst
的简短版本;
甚至更短:
myInts = myInts.Select(x => x + myConst).ToArray();
在将其写入文件之前,您必须将数组转换回string[]
或类似的东西:
var result = myInts.Select(x => (x + myConst).ToString()).ToArray()