Функции за работа със стрингове в C#(MS)
Не съм пипвал каквото и да е C повече от 10 години. Моля да не ми смеете на въпросите. За пръв път пускам C# и искам да направя нещо като "Hello world".
Имаме
string S = "ABCDEFGH" ;
Искам да разменя втория и петия елемент вътре в S.
Как става това в C# ?
//
В стандартното C, доколкото си спомням, стринговете могат да се "индексират" и тогава случая се решава така
char c
c = S[2]
S[2] = S[5]
S[5] = c
или пък с директно бърникане
char c
c = *((&S)+2)
*((&S)+2) = *((&S)+5)
*((&S)+5) = c
(нещо такова)
Обаче при опит за компилиране в C# ми дава грешка.
"Property or indexer 'string.this[int]' cannot be assigned to -- it is read only"
Re: Функции за работа със стрингове в C#(MS)
Не се занимавам с .нет, но доколкото знам в Ц# стринговете са immutable, което ще рече, че за подобни манипулации бива да използваш нещо като StringBuilder вероятно
Re: Функции за работа със стрингове в C#(MS)
може със
System.Text.StringBuilder
нещо такова:
sb = new StringBuilder("alabala");
c = sb.Chars[2];
sb.Chars[2] = sb.Chars[5];
sb.Chars[5] = c;
return sb.ToString():
или със:
String.ToCharArray() да се промени масива:
string str = "alabala";
char[] ca = str.ToCharArray();
c = ca[2];
ca[2] = ca[5];
ca[5] = c;
return new String(ca);
Re: Функции за работа със стрингове в C#(MS)
Това бил начина:
Цитат:
Първоначално публикувано от Bibi
string str = "alabala";
char[] ca = str.ToCharArray();
c = ca[2];
ca[2] = ca[5];
ca[5] = c;
return new String(ca);
Хванал съм се на един бас. Като го спечеля (имам три вечери на разположение, за да се справя една проста задача с рекурсия в цикъл), ще почерпя.
Благодаря.