2015-11-17 6 views
-1

Как получить данные, которые я могу написать в консоли для записи в массив и консоль.Как заполнить массив с помощью foreach?

В настоящий момент он отображается только на консоли (не добавлена ​​функциональность для добавления в массив).

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

Линия:

string[] lines = System.IO.File.ReadAllLines(@"C:\ShpereCompare3.txt"); 

уже создает массив, каждый элемент которого содержит одну строку.

Нет необходимости заполнять новый массив этой же информацией с помощью foreach.

+0

так как я к нему доступ, поэтому я могу использовать регулярные выражения для редактирования, Что в строках? –

+0

@simon вы можете применить регулярное выражение к переменной 'line' –

+0

@KrishnaAnaril, поэтому я могу написать Center \ W * \ d *. \ D + \ W * mm внутри массива? Мне нужно измельчать данные из нескольких строк. поэтому создайте регулярный массив exression, затем ссылайтесь на него в другом массиве, чтобы написать другой список из –

0

Если вы хотите скопировать строки из текстового файла в другой массив, то вы можете сделать это:

String[] arr = new String[lines.Length]; 
Array.Copy(lines, arr, lines.Length); 
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); 
     } 
    } 
} 

}