2015-07-29 3 views
1

Итак, я использую этот кусок кода в проекте non-xamarin уже месяц, и он отлично работал, передал его проекту xamarin и теперь он отказывается работать , Из troubleshoting я могу сказать его «menu = menu + text [num] +» «;», который не работает (он не добавляет строки, как я хочу, просто оставляет строку как «oder», например, был установлен как) Также, если я делаю «num-1», чтобы получить строку из массива, который он работает: /. Является ли это ошибкой xamarin или мой код плохой?C# Xamarin Android string + = не работает

public string menuEncrypt(string[] input, MainActivity ac) 
    { 
     //Stream Reader to String[] 
     StreamReader mc = new StreamReader(ac.Assets.Open("Menu_Code.txt")); 
     StreamReader mt = new StreamReader(ac.Assets.Open("Menu_Text.txt")); 

     string[] code = streamToArry(mc); 
     string[] text = streamToArry(mt); 


     //string[] code = File.ReadAllLines(@"JittersApp/Droid/Assets/Menu Code.txt"); 
     //string[] text = File.ReadAllLines(@"JittersApp/Droid/Assets/Menu Text.txt"); 
     int codemax = code.Length; 
     int current = 0; 
     int im = input.Length; 
     string menu = "oder "; 

     while (true) 
     { 
      if (current < codemax) 
      { 
       if (current < im) 
       { 
        if (text.Contains(input[current])) 
        { 
         int num = 0; 
         while (true) 
         { 
          string item = input[current]; 
          if (text[num].Equals(item)) 
          { 
           menu = menu + text[num] + " "; 
           break; 
          } 
          else 
          { 
           num++; 
          } 
         } 
        } 
        current++; 
       } 
       else 
       { 
        break; 
       } 
      } 
      else 
      { 
       break; 
      } 
     } 

     new AlertDialog.Builder(ac) 
     .SetMessage(menu) 
     .Show(); 
     return menu; 
    } 

ответ

0

Так что я получил вокруг этого, добавляя бесполезное строку как текстовые файлы, а затем добавляется + 1 к переменной num, вот код :)

public string menuEncrypt(string[] input, MainActivity ac) 
    { 
     //Stream Reader to String[] 
     StreamReader mc = new StreamReader(ac.Assets.Open("Menu_Code.txt")); 
     StreamReader mt = new StreamReader(ac.Assets.Open("Menu_Text.txt")); 

     string[] code = streamToArry(mc); 
     string[] text = streamToArry(mt); 


     //string[] code = File.ReadAllLines(@"JittersApp/Droid/Assets/Menu Code.txt"); 
     //string[] text = File.ReadAllLines(@"JittersApp/Droid/Assets/Menu Text.txt"); 
     int codemax = code.Length; 
     int current = 0; 
     int im = input.Length; 
     string menu = "oder "; 

     while (true) 
     { 
      if (current < codemax) 
      { 
       if (current < im) 
       { 
        if (text.Contains(input[current])) 
        { 
         int num = 0; 
         while (true) 
         { 
          string item = input[current]; 
          if (text[num + 1].Equals(item)) 
          { 
           menu = menu + code[num + 1] + " "; 
           break; 
          } 
          else 
          { 
           num++; 
          } 
         } 
        } 
        current++; 
       } 
       else 
       { 
        break; 
       } 
      } 
      else 
      { 
       break; 
      } 
     } 

     new AlertDialog.Builder(ac) 
     .SetMessage(menu) 
     .Show(); 
     return menu; 
    } 
Смежные вопросы