2010-04-15 18 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的东西的foreach不会将一个字符串分解

+3

请描述你所看到的以及你的期望,而不是仅仅发布代码。 – 2010-04-15 09:41:52

+0

你会得到什么结果?你意识到你的代码只会打印出每行1个结果,而不是该行的所有分割项目? – AndrewC 2010-04-15 09:42:45

+0

我想通过逗号将行分成3部分。 目前,没有任何显示。 我认为有可能做到这一点? – sark9012 2010-04-15 09:48:36

回答

3

也许ü搜索的财产以后也是这样吗?

在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 ng:

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行。基本上,我试图将line.Split的第一部分与measurementIn.Split的第二部分进行匹配。如果这种情况发生,那么我想要匹配该行的第二部分。与第三部分measurementIn.Split分离。 – sark9012 2010-04-15 09:56:56

+0

我已经适应了你的代码的第二部分,改变了它,我就是我需要的地方。现在必须玩弄它来得到我的最终结果。非常感谢 – sark9012 2010-04-15 18:26:46

1

尝试使用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;”。

相关问题