Не дубликат этого.
Я хочу, чтобы строка имела максимальную длину. Он никогда не должен проходить эту длину. Допустим, длина 20 char. Если предоставленная строкa > 20, возьмите первые 20 строк и отбросьте остальные.
Ответы на этот вопрос показывают, как ограничить строку функцией, но я хочу сделать это напрямую без функции. Я хочу, чтобы проверка длины строки выполнялась каждый раз, когда строка записывается в.
Ниже я хочу не:
string myString = "my long string";
myString = capString(myString, 20); //<-- Don't want to call a function each time
string capString(string strToCap, int strLen)
{
...
}
Я смог выполнить это с помощью свойства:
const int Max_Length = 20;
private string _userName;
public string userName
{
get { return _userName; }
set
{
_userName = string.IsNullOrEmpty(value) ? "" : value.Substring(0, Max_Length);
}
}
Тогда я могу с легкостью использовать его, вызывая функцию для его закрытия:
userName = "Programmer";
Проблема заключается в том, что каждый string
, который я хочу сделать, должен иметь несколько переменных, определенных для них. В этом случае переменные _userName
и userName
(свойство).
Любой умный способ сделать это без создания нескольких переменных для каждой строки и в то же время, не имея необходимости вызывать функцию каждый раз, когда я хочу изменить string
?