2017-01-26 5 views
-4

Мне нужно создать метод под названием «SelectOnlyVowels» и получить гласные из строки «abc» без изменения кода ниже.Метод извлечения гласных из строки

const string abc = "asduqwezxc"; //this is the string 
       foreach (var vowel in abc.SelectOnlyVowels()) 
       { 
        Console.WriteLine("{0}", vowel); 
       } 
+5

Так что вы пробовали? – Ben

+3

Я думаю, вы имеете в виду, что ваш учитель хочет, чтобы вы создали это – Jonesopolis

+4

К сожалению, Stack Overflow здесь не для того, чтобы писать код для вас. Если вы можете привести пример того, что вы пробовали, мы можем посоветовать вам, где вы, возможно, пошли не так, и как исправить это. –

ответ

1

Похоже, что вы ищете способ расширения строки

https://msdn.microsoft.com/en-us//library/bb383977.aspx

Вот рабочий пример.

class Program 
{ 
    static void Main(string[] args) 
    { 
     const string abc = "asduqwezxc"; 
     foreach (var vowel in abc.SelectOnlyVowels()) 
     { 
      Console.WriteLine("{0}", vowel); 
     } 
     Console.ReadLine(); 
    } 
} 

public static class StringManipulation 
{ 
    public static string SelectOnlyVowels(this string text) 
    { 
     var vowels = "aeiou"; 
     var result = ""; 
     foreach (char c in text) 
     { 
      if (vowels.Contains(c)) 
      { 
       result += c; 
      } 
     } 
     return result; 
    } 
} 
+0

спасибо, не могли бы вы так любезно бросить мне некоторые ссылки для получения дополнительной информации о методах расширения строк, если вы знаете о них. – Sizwe

+0

Здесь ya go https://msdn.microsoft.com/en-us//library/bb383977.aspx – DD84

0

Вам просто нужно создать метод расширения, как это:

public static class StringExtensions 
{ 
    public static string SelectOnlyVowels(this string text) 
    { 
     var vowels = "aeiou"; 
     return new String(text.Where(p => vowels.IndexOf(p.ToString(), StringComparison.InvariantCultureIgnoreCase) >= 0).ToArray()); 
    } 
} 
Смежные вопросы