2013-06-03 3 views
2

Я столкнулся с некоторыми ошибками по следующим кодам, показанным ниже. Он читает из .txt-файла, который содержит в нем «A, B, D, E». Я использую эти буквы для представления каждого персонажа для своей игры. Я не могу показаться, чтобы решить эту ошибку:/string.Contains (string) error in Metro App

Я на самом деле с помощью Metro приложения на Visual Studio 2012, C#

коды: Показаны

   var l = 0; 
       while (!sr.EndOfStream) 
       { 
        string line = sr.ReadLine(); 

        for (var c = 0; c < line.Length; c++) 
        { 
         mazeValues[c, l] = line[c]; 

         if ("ABDE".Contains(mazeValues[c, l])) // Error showing here 
         { 
          var index = "ABDE".IndexOf(mazeValues[c, l]); 

          ghosts[index].OriginalCellPoint = new Point(c, l); 
         } 
        } 
        l++; 
       } 
      } 

Ошибка: Лучший перегружен ровня 'string.Contains (string)' имеет некоторые недопустимые аргументы.

+0

что 'mazeValues ​​[с, л]'? –

+0

@JW 웃 char [,] mazeValues ​​= новый символ [mazeWidth, mazeHeight]; – fafarifah

+0

похоже, что он ожидает строку, как она утверждает - строка - это строка, но ваша строка делает [c] – Chris

ответ

2

Похоже, что mazeValus[c, l] является символом, а не строкой.

Попробуйте "ABDE".Contains(mazeValues[c, l].ToString())

+0

Это сработало. Спасибо! – fafarifah

+0

Нет проблем. Если бы это сработало для вас, не могли бы вы отметить его как принятый ответ? – Ord

+0

Вы также можете попробовать 'IndexOf' и не называть' ToString' –

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