2010-04-15 2 views
0
//assign variables 
     string measurementIn; 


     //read in file in array 
     string[] lines = File.ReadAllLines("../../convert.txt"); 

     //ask user for date 
     Console.WriteLine("Enter the conversion in the form (amount,from,to)"); 
     measurementIn = Console.ReadLine(); 

     //array for splitting input 
     string[] conversionArray = measurementIn.Split(','); 

     Console.WriteLine("{0} , {1} , {2}", conversionArray[0], conversionArray[1], conversionArray[2]); 
     Console.ReadLine(); 

     //check lines for conversion 
     foreach (string line in lines) 
     { 
      //array for the measurement 
      string[] measurementArray = line.Split(','); 

      Console.WriteLine("{0}", measurementArray[0]); 

Проблема лежит в конце, материал внутри ЕогеаспForeach обыкновение разбить строку

+3

Опишите, что вы видели и что вы ожидали, вместо того, чтобы просто отправлять код. –

+0

Какой результат вы получаете? Вы понимаете, что ваш код будет печатать только 1 результат на строку, а не все разделенные элементы этой строки? – AndrewC

+0

Я пытаюсь, чтобы запятая была разделена на 3 части. В настоящий момент ничего не отображается. Я предполагаю, что это возможно для этого? – sark9012

ответ

3

может быть, у поиск Somthing как это?

в Txt:

Dog,Cat,Mouse,Fish,Cow,Horse,Hyena 
Programmer,Wizard,CEO,Rancher,Clerk,Farmer 

код:

using System; 
using System.IO; 

class Program 
{ 
    static void Main() 
    { 
     int i = 0; 
     foreach (string line in File.ReadAllLines("TextFile1.txt")) 
     { 
      string[] parts = line.Split(','); 
      foreach (string part in parts) 
      { 
       Console.WriteLine("{0}:{1}", 
        i, 
        part); 
      } 
      i++; 
     } 
    } 
} 

выход:

0:Dog 
0:Cat 
0:... 
1:Programmer 
1:... 

Где я получил его: http://dotnetperls.com/string-split

просто пытался somethi нг:

StreamReader convert = new StreamReader("../file.txt"); 

string line = convert.ReadLine(); 
String inputMeasurement = Console.ReadLine(); 
string[] inputMeasurementArray = inputMeasurement.Split(','); 
while (line != null) 
{ 
    string[] fileMeasurementArray = line.Split(','); 
    if (fileMeasurementArray[0] == inputMeasurementArray[1]) 
    { 
     if (fileMeasurementArray[1] == inputMeasurementArray[2]) 
     { 
      Console.WriteLine("{0}", fileMeasurementArray[2]); 
     } 
     else 
     { 
      Console.WriteLine("False"); 
     } 

    } 
    else 
    { 
     Console.WriteLine("False"); 
    } 
    line = convert.ReadLine(); 
} 
Console.ReadKey(); 
+0

У меня есть 6 строк в текстовом файле. В основном я пытаюсь сопоставить первую часть строки. Сплит со второй частью измеренияIn.Split. И если это происходит, я тогда хочу совместить вторую часть строки. Сплит с третьей частью измеренияIn.Split. – sark9012

+0

Я адаптировал вторую часть вашего кода, изменил ее, и я должен там, где должен быть. Теперь мне нужно поиграть с ним, чтобы получить свой окончательный результат. большое спасибо – sark9012

1

Try с помощью StreamReader, чтобы прочитать в строках из файла, а не с помощью File.ReadAllLine(), а затем цикл по каждой строке. Например:

StreamReader convert = new StreamReader("filename.txt"); 

string line = convert.ReadLine(); 

while (line != null) 
{ 
    string[] measurementArray = line.Split(','); 
    Console.WriteLine("{0}", measurementArray[0]); 
    Console.WriteLine("{0}", measurementArray[1]); 
    line = convert.ReadLine(); 
} 

Вам нужно будет добавить «using System.IO;».

Смежные вопросы