метод csharp, который выбирает каждый второй символ из слова - PullRequest
0 голосов
/ 02 декабря 2011

Мне нужен метод, который возвращает все остальные символы в строке, начиная с первого символа. Например, вызов метода с («Java-язык») возвращает «Jv-agae».

     private static void NewMethod(string word)
     {
         // here comes the code
     }

Ответы [ 5 ]

10 голосов
/ 02 декабря 2011
var str = "Java-language";
var xx = new string(str.Where((ch, index) => index % 2 == 0).ToArray());
Console.WriteLine(xx);

Или вот этот:

var xx = string.Join<char>("", str.Where((ch, index) => (index & 1) == 0));
6 голосов
/ 02 декабря 2011

вероятно немного отличается от всех остальных:: -)

protected static IEnumerable<char> EverySecondChar(string word)
{
    for(int i = 0; i < word.Length; i += 2)
        yield return word[i];
}

string result = new string(EverySecondChar("Java-language").ToArray());
2 голосов
/ 02 декабря 2011

Вот мое предложение для вас:

private string TakeEverySecondChar(string input)
{
    var result = string.Empty;
    for (int i = 0; i < input.Length; i+=2)
    {
        result += input.Substring(i, 1);
    }
    return result;
}
1 голос
/ 02 декабря 2011
        Console.Clear();
        string Lang = "Java-language";

        string[] LangArr = new string[Lang.Length];
        char LangChar;
        for (int i = 0; i < Lang.Length; i++)
        {
            LangChar = Lang[i];
            LangArr[i] = LangChar.ToString();
        }

        for (int i = 0; i < LangArr.Length; i++)
        {
            Console.Write(LangArr[i]);
            i++;
        }

        Console.ReadLine();
0 голосов
/ 02 декабря 2011
public String strip2ndchar(string text)
{
string final="";
int i = 0;
foreach (char a in text.ToCharArray())
{
   if (i % 2 == 0)
       final += a;
   i++;
}
return final;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...