У меня есть строка, которая заканчивается @
и при попытке TrimEnd этой строки (я хочу только обрезать ее, если символ @ действительно находится в конце этой строки), я считаю, что C# полностью игнорирует это.Почему C# .TrimEnd работает с символом @?
Я написал (с помощью Razor; и это запрос Ajax) два скрытых поля ввода для хранения строкового значения как до, так и после вызова .TrimEnd('@')
, и значение остается неизменным.
Невозможно закодировать это значение, поскольку строка построена на C# и не оставляет эту среду (которая в конечном итоге относится к базе данных), прежде чем я смогу доказать, что она не работает.
(переменная «NFPA» содержит строку «3-2-0»)
string NFPAFPRACHGLOES = "";
if (!String.IsNullOrWhiteSpace(NFPA))
{
NFPAFPRACHGLOES += NFPA + "\n";
}
if (FBtn == "on")
{
NFPAFPRACHGLOES += "F";
}
if (PBtn == "on")
{
if (NFPAFPRACHGLOES.Contains("F"))
{
NFPAFPRACHGLOES += "/";
}
NFPAFPRACHGLOES += "P";
}
if (RBtn == "on")
{
if (NFPAFPRACHGLOES.Contains("F") || NFPAFPRACHGLOES.Contains("P"))
{
NFPAFPRACHGLOES += "/";
}
NFPAFPRACHGLOES += "R";
}
if (ABtn == "on")
{
if (NFPAFPRACHGLOES.Contains("F") || NFPAFPRACHGLOES.Contains("P") || NFPAFPRACHGLOES.Contains("R"))
{
NFPAFPRACHGLOES += "/";
}
NFPAFPRACHGLOES += "A";
}
if (CHBtn == "on")
{
if (NFPAFPRACHGLOES.Contains("F") || NFPAFPRACHGLOES.Contains("P") || NFPAFPRACHGLOES.Contains("R") || NFPAFPRACHGLOES.Contains("A"))
{
NFPAFPRACHGLOES += "/";
}
NFPAFPRACHGLOES += "CH";
}
NFPAFPRACHGLOES += "@"; //<--This is where the @ symbol gets added.
if (GBtn == "on")
{
NFPAFPRACHGLOES += "G";
}
if (LBtn == "on")
{
NFPAFPRACHGLOES += "L";
}
if (OBtn == "on")
{
NFPAFPRACHGLOES += "O";
}
if (EBtn == "on")
{
NFPAFPRACHGLOES += "E";
}
if (SBtn == "on")
{
NFPAFPRACHGLOES += "S";
}
//NFPAFPRACHGLOES = NFPAFPRACHGLOES.Trim();
NFPAFPRACHGLOES.TrimEnd('\n');
<input type="hidden" id="dumb1" value="@NFPAFPRACHGLOES" /> <-- read value before trimend call
NFPAFPRACHGLOES.TrimEnd('@');
<input type="hidden" id="dumb2" value="@NFPAFPRACHGLOES" /> <-- read value after trimend call.
Вот что я получаю зачитал мне в предупреждающем сообщении после того, как он вернется из вызова AJAX.
Я хотел бы попробовать и передать в ASCII кодируются версии персонажа, чтобы посмотреть, что происходит, но, как вы знаете, метод .TrimEnd()
принимает только полукокса значения (и не строки).
Я бы воспользовался заменой, но это должно быть только в том случае, если оно находится в конце строки, и только это последний символ является символом @.
кажется, что вы не переназначить результат TrimEnd на новую (или же) строку – Steve