2013-07-24 3 views
-1

Как вы, ребята, действительно используете StreamReader для чтения файла .txt и сопоставления с двумя текстами Combobox, такими как SGD - Singapore Dollar и USD - US Dollar, чтобы он записывал на ярлык, который показывает число 1,26?Использование streamreader в C#

Exchange.txt:

SGD - Сингапурский доллар || USD - Доллар США = 1,26

Вот код:

private void GetExchangeRate() 
{ 
    using (StreamReader sr = new StreamReader("Exchange.txt")) 
    { 
     string[] store = new string[100]; 
     int index = 0; 
     string line; 

     while ((line = sr.ReadLine()) != null) 
     { 
      store[index] = line; 
      index++; 
      lblexchange.Text = sr.ReadLine(); 
     } 
    } 
} 

private void tocountry_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    btnupdate.Enabled = true; 
    txtvalue.Enabled = true; 
    GetExchangeRate(); 
} 

В конце концов, метка не отображается значение 1,26. Я не знаю, что с этим не так. Мне нужна помощь

+3

Любая причина, почему вы звоните это в то время цикла 'lblexchange.Text = sr.ReadLine();' – MethodMan

+0

Разбейте ваш вопрос на более мелкие проблемы. У вас проблемы с чтением из файла, или у вас возникают трудности с сопоставлением двух строк? В настоящее время кажется, что вы просите нас написать свой код. –

+0

трудности, сравнивающие две строки, равные 1.26 – user2610573

ответ

0

Вы можете сделать это, как этот

private void GetExchangeRate() 
{ 
    string[] lines = File.ReadAllLines("Exchange.txt"); 

    foreach (var line in lines) { 
     //Suppose your line contains 'Singapore' and you want to do somthing if line contains the singapore then you should do as 
     if(line.Contains("Singapore")) 
      { 
       lblDisplay.Text = "Singapore" 
      } 
     //Do your functionality that is which line to display depending upon country 
     // You can match the line and display them according to your need 
    } 
} 
+0

, например, в цикле foreach? им жаль, потому что я действительно не знаю, как это использовать. – user2610573

+1

проверить, отредактируйте и скажите, что вы хотите, чтобы я мог помочь –

+0

жаль снова спрашивать, но в последний раз ... что, если я хочу отобразить десятичный знак? – user2610573

1

Почему бы вам просто не использовать

File.ReadAllLines("Exchange.txt")
Он вернет вам все строки в массиве строк.

+0

где я должен его поставить? – user2610573

+0

string [] lines = File.ReadAllLines ("Exchange.txt"); foreach (var line in lines) { // делаем все, что вы хотите делать с каждой строкой } –

+0

Я действительно не знаю, что делать внутри цикла foreach. Мне жаль, если это расстраивает – user2610573

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