Как сократить строку до определенной длины в соответствии с textBox1.Length С#

Мне нужно знать, как укоротить строку до определенной длины, я пробовал string.Trim(), но это не работает. Извините, я еще новичок.

Спасибо

Изменить

Я пытаюсь отрезать отступы от расшифрованного текста. Например: пользователь вводит текст, пользователь шифрует и расшифровывает текст. В расшифрованном тексте остается отступ...

Изменить 2

Я использую PaddingMode.PKCS7


person Dilan V    schedule 02.04.2015    source источник
comment
Вам может помочь множество string методов. Не могли бы вы сначала показать свою строку и строку результата, как вы хотите?   -  person Soner Gönül    schedule 02.04.2015
comment
@DilanV Возможно, проблема в шифровании/дешифровании, а не в заполнении :)   -  person xanatos    schedule 02.04.2015
comment
@DilanV Сравните свой код с stackoverflow.com/a/4925859/613130.   -  person xanatos    schedule 02.04.2015
comment
@DilanV Возможно, вы устанавливаете PaddingMode только для шифратора только при расшифровке, или у вас другой PaddingMode. PaddingMode, если он присутствует, должен быть одинаковым как при шифровании, так и при расшифровке.   -  person xanatos    schedule 03.04.2015
comment
@DilanV Нет, это ты должен опубликовать свой код.   -  person xanatos    schedule 03.04.2015
comment
@xanatos, не волнуйся, твой ответ сработал для меня   -  person Dilan V    schedule 03.04.2015


Ответы (3)


В общем проблема скорее всего в шифровании/дешифровании. Вы шифруете/дешифруете с помощью PaddingMode.Zeros, что дополняется с помощью \0... Теперь вы можете

string decrypted = ...
decrypted = decrypted.TrimEnd('\0');

но это было бы по крайней мере частично неправильно.

Измените как шифрование, так и расшифровку, добавив:

algo.Padding = PaddingMode.ISO10126

(где algo — это объект, который вы используете для шифрования/дешифрования, например RijndaelManaged)

person xanatos    schedule 02.04.2015

Вы можете использовать Substring() метод строки класс как

textBox1.Text.Substring(0, 7);
person Rahul    schedule 02.04.2015

Строки неизменяемы, это означает, что вы не можете их изменить. Вы должны переназначить возвращаемое значение строковых методов строковой переменной. Вы можете использовать String.Substring:

int length = textBox1.Text.Length;
longString = longString.Substring(0, Math.Min(length, longString.Length));
person Tim Schmelter    schedule 02.04.2015