将数字从文件读取到数组,并为每个元素添加一个数字

本文关键字:数字 添加 元素 一个 读取 文件 数组 | 更新日期: 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()