【发布时间】:2016-04-14 15:54:55
【问题描述】:
我是编程新手,已决定逐步学习 C#,在阅读某些教程、书籍和其他指南时,我发现了 StreamReader 命令。
由于我的学习方式是使用我觉得有趣的新命令,所以我决定深入研究命令,看看我能做什么。
这导致了这个问题,我在这里有我想要的代码。
它从文件中取出行,将其转换为字符串数组,然后将其转换为 int 数组,然后我将数组的每个部分分类到一个变量中,以便在代码的主要部分中使用。
我想知道的是有没有更清洁的方法来做到这一点? 当我包含从文件中提取的第二个、口渴等...行时,我可以使用我的 Turner 方法(?)重复这个过程吗?
using System;
using System.IO;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace StreamReaderToIntArray
{
class Program
{
static void Main(string[] args)
{
int x = 0;
int y = 0;
int z = 0;
string[] stringSeperators = new string[] { " " };
StreamReader myReader = new StreamReader("Values.txt");
string line = myReader.ReadLine();
var myArray = line.Split(stringSeperators, StringSplitOptions.RemoveEmptyEntries);
myReader.Close();
Turner(myArray, out x, out y, out z);
}
static private int Turner(string[] newArray, out int x, out int y, out int z)
{
int[] cArray = newArray.Select(int.Parse).ToArray();
x = cArray[0];
y = cArray[1];
z = cArray[2];
return x;
}
}
}
【问题讨论】:
-
为什么不直接从
x = Int32.Parse(newArray[0])这样的字符串数组中赋值x、y和z? -
最好先阅读几页您想学习的语言教程。我敢打赌它会说一些关于重复操作的事情......
-
@ThorstenDittmar 我不太清楚为什么我不直接分配它并在那里解析。好问题。
-
@AlexeiLevenkov 我已经阅读过重复操作,并且在这段代码中还没有包含它们。在让它多次做我想做的事情之前,我一直专注于让它先做我想做的事情。
标签: c# arrays string methods integer