2014-04-22 18 views
0

我试图做在保持了与汽车零件相关联的所有属性,如重量,加速,最高车速等文本文件阅读我希望能够简单地在文本文件中写: W 5 牛逼20读取文本文件:字符后“如果”字符存储信息

因此我需要检查,如果有一个字符,如果后因此,抓住价值。这是我到目前为止的尝试:

public virtual void ReadStats(string selectedModel) { List lines = new List();

 using (var ModelInfo = new FileStream(selectedModel, FileMode.OpenOrCreate)) 
     { 
      using (StreamReader reader = new StreamReader(ModelInfo)) 
      { 
       float input; 

       string line = reader.ReadLine(); 
       while ((line = reader.ReadLine()) != null) 
       { 
        if (line.StartsWith("W")) 
        { 
         //Save the value after the character. 
        } 
       } 
      } 
     } 
    } 

由于某种原因,它甚至没有进入'如果'它似乎不读'W'字符。 另外,我将如何去抓住字符后的值。

谢谢。

+1

看起来你正在阅读_two_行你检查的“W”(也许尝试初始化= null'的'串行,而不是第一个'reader.ReadLine()'调用)前编辑:并根据您的文件内容/使用,也许可以考虑使用'File.ReadAllLines'方法来大大简化阅读文本文件内容的过程。 –

+0

你故意折腾第一行吗?另外,您是否正在检查'line'的值以确保您正确读取? – Jonesopolis

+0

@ChrisSinclair initializing line = null现在允许if函数正确运行。事情是我不想读取所有的行,因为文本文件也包含零件模型顶点的数据。任何想法如何我能够将'W'后的值并将其保存到变量? – adtither

回答

0

为什么你不使用任何的子原因?

var test = line.substring("W") 

把这个放在你的if块中。

+0

无法使用子字符串(“W”),它期望括号中的int。这能让我做什么? – adtither

+0

实际上发现了做这个工作的伴侣,只好使用索引和长度。干杯。 – adtither

相关问题