如何获取我可以在控制台中写入的数据以写入阵列和控制台。
目前它只显示在控制台上(没有添加添加到阵列的功能)。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Diagnostics;
using System.IO;
using System.Text.RegularExpressions;
namespace TBParser
{
class Program
{
static void Main(string[] args)
{
String[] arr = new String[100];
string[] lines = System.IO.File.ReadAllLines(@"C:\ShpereCompare3.txt");
Console.WriteLine("Contents of Text File: ");
foreach (string line in lines)
{
Console.WriteLine("\r\t" + line);
}
System.IO.File.WriteAllLines(@"C:\Test.txt",lines);
Console.WriteLine("Press any key to Exit");
Console.ReadKey();
}
}
}
如果我的文字说明
hello
my
name
is
Simon
那么数组的前5个插槽应该包含每一行?
答案 0 :(得分:0)
该行:
string[] lines = System.IO.File.ReadAllLines(@"C:\ShpereCompare3.txt");
已经在创建一个数组,每个元素都包含一行。
无需通过foreach
使用相同的信息填充新数组。
答案 1 :(得分:0)
如果要将文本文件中的行复制到另一个数组中,则可以执行以下操作:
String[] arr = new String[lines.Length];
Array.Copy(lines, arr, lines.Length);
答案 2 :(得分:0)
此处修正了代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Diagnostics;
using System.IO;
using System.Text.RegularExpressions;
namespace TBParser
{
class Program
{
static void Main(string[] args)
{
string fileName = @"C:shpereCompare3.txt";
List<string> Names = new List<string>();
List<string> Value = new List<string>();
using (StreamReader fileReader = new StreamReader(fileName))
{
string fileLine;
while (!fileReader.EndOfStream)
{
fileLine = fileReader.ReadLine();
if (fileLine.StartsWith("Name"))
{
Names.Add(fileLine.Substring(21));
}
if (fileLine.StartsWith("Center"))
{
string[] fileSplit = fileLine.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
Value.Add(fileSplit[1]);
}
}
string outputString = "";
for (int i = 0;i < Names.Count; i++)
{
outputString += Names[i] + " = " + Value[i] + "\r\n";
}
System.IO.File.WriteAllText(@"C:Test.txt", outputString);
}
}
}
}