2017-02-20 15 views
0
// 5. Display the received message: 

      Console.WriteLine("[Server] Message of client recieved"); 
      string vowels = "aeiouAEIOU"; 
      for (int i = 0; i < totalBytes; i++) 

      { 
       aChar = Convert.ToChar(incomingDataBuffer[i]); 
       Console.Write(aChar); 
       if ("aeiouAEIOU".Contains(aChar)) vowels += aChar; 
       Console.Write("[Server] Vowel characters deteced: " + vowels); 
      } 

не могу понять, почему я продолжаю получать ошибки после компиляцииЛучший перегружен матч метод «string.Contains (строка)» имеет некоторые недопустимые аргументы и аргументы «1»: не удается преобразовать из «полукокса» в «строка»

ответ

2

string.Contains() хочет строку, и вы даете ей символ.

Попробуйте вместо этого:

if ("aeiouAEUIO".Contains(aChar.ToString())) 
    vowels += aChar; 
0

Вы можете преобразовать строку в Char [] на ToCharArray и чем использование Содержит метод. Вы можете попробовать что-то подобное с Linq:

using System; 
using System.Linq; 

public class Program 
{ 
    public static void Main() 
    { 
     var input = "Hello world".ToCharArray(); 
     var vowels = "aeiouAEIOU".ToCharArray(); 

     input.Where(c=>vowels.Contains(c)).ToList().ForEach(v=>Console.WriteLine("[Server] Vowel characters deteced: " + v)); 
    } 
} 

.netFilddle