2014-04-22 16 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

相關問題