C# Substring() ошибка в.NET v4.5?

Я немного озадачен, почему функция Substring() не работает должным образом. Он просто не отрубит запятую в конце строки.

Смотрите пример кода ниже...

public static string OrderByClauseBuilder(string parmSortByColumn)
{
    if (parmSortByColumn.LastIndexOf(",") > -1) { 
        parmSortByColumn.Substring(0, parmSortByColumn.LastIndexOf(","));
    }
    return parmSortByColumn;
}
protected void Page_Load(object sender, EventArgs e)
{
    string sqlAsk = "";
    string value = "stocknumber asc,";

    sqlAsk = OrderByClauseBuilder(value);
}

1 ответ

Решение

Строки являются неизменяемыми в.NET, и каждый метод строки возвращает новый, модифицированный. Поэтому вы должны сделать некоторые корректировки:

public static string OrderByClauseBuilder(string parmSortByColumn)
{
    if (parmSortByColumn.LastIndexOf(",") > -1) { 
        parmSortByColumn = parmSortByColumn.Substring(0, parmSortByColumn.LastIndexOf(","));
    }
    return parmSortByColumn;
}
Другие вопросы по тегам