2016-10-02 4 views
-2

я пытаюсь сделать программу, в которой я хочу поменять/изменить положение входного слова: , например: входного слова: перетекает выхода: vorelfwos Я хочу обменять 1-ю и 2-ю буквы 3-го и 4-го и так далее, и если у него есть письмо в конце, у которого нет партнера для обмена, я хочу просто оставить его как есть. Может кто-нибудь мне помочь? я буду использовать C# btw.Как изменить положение букв в слове во входной строке

+4

Звучит как домашнее задание .. Что вы пробовали? и где вы застряли –

+3

Прочитайте [ask]. Представьте проблему, * покажите, что вы пробовали *, и объясните, где вы застряли. Это сейчас просто читается как «сделай мою работу для меня». –

+0

Я буквально ничего не могу придумать, я просто не знаю, как можно идентифицировать 1, 2 или 3 букву в слове. – Kirito

ответ

0

C# строки имеют indexer, названный System.String.Chars:

char letter = "Hello World"[0]; 

letter теперь H.

Но строки являются неизменными, так что вы не можете изменить характер, как это:

string myString = "Hello"; 

myString[1] = 'R'; // Produces an error. 

Поэтому я предложил бы использовать System.Text.StringBuilder, так что здесь является extension method использовать его:

public static string Swap(this string str, int charToSwapA, int charToSwapB) 
{ 
    System.Text.StringBuilder stringBuilder = new System.Text.StringBuilder(str); 
    oldCharToSwapA = stringBuilder[charToSwapA]; 
    stringBuilder[charToSwapA] = stringBuilder[charToSwapB]; 
    stringBuilder[charToSwapB] = stringBuilder[oldCharToSwapA]; 
    return stringBuilder.ToString(); 
} 

Которые могут использоваться следующим образом:

string myString = "dello WorlH".Swap(0, 10); 

myString сейчас "Hello World".

+0

большое вам спасибо! – Kirito

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