String.Equals оценивается как ложьC#

Место общения программистов C#
Ответить
Anonymous
 String.Equals оценивается как ложь

Сообщение Anonymous »

У меня есть две строки:
  • Строка, возвращаемая из базы данных внутреннего сервера, содержащейся в классе LocalPlayer:

    Код: Выделить всё

    public class LocalPlayer
    {
    public string Name;
    }
    
  • Код: Выделить всё

    playerName
    Локальная строковая переменная.
Вот блок кода, который я использую:

Код: Выделить всё

private void UpdatePlayer()
{
bool localPlayerFound = false;

if (player != null)
{
if (player.localPlayers != null)
{
if (player.localPlayers.Count > 0)
{
foreach (LocalPlayer lp in player.localPlayers)
{

Debug.Log("Name =" + lp.Name + " Length " + lp.Name.Length + " Bytes " + string.Join(",", System.Text.Encoding.Unicode.GetBytes(lp.Name)));
Debug.Log("Name =" + playerName + " Length " + playerName.Length + " Bytes " + string.Join(",", System.Text.Encoding.Unicode.GetBytes(playerName)));

bool areEqual = string.Equals(lp.Name.Trim(), playerName.Trim());

Debug.Log(areEqual);

if (areEqual)
{
localPlayerFound = true;
// Fill out Player stats
}
}
}
}
}
if (localPlayerFound == false) // NO players yet in Local Database - Create a new one
{
AddNewLocalPlayer();
}
}
Вывод операторов отладки:
После нескольких предложений я добавил длину и кодировку в операторы отладки. Вот что появляется в операторах отладки.

Код: Выделить всё

Name =Flash Length 5 Bytes 70,0,108,0,97,0,115,0,104,0

Name =Flash​ Length 6 Bytes 70,0,108,0,97,0,115,0,104,0,11,32

False

Если обрезка не удаляет скрытые символы, что я могу использовать?
В нем говорится, что выходные данные подтверждают, что байт 11 соответствует вертикали символ табуляции, а байт 32 соответствует символу пробела.
Спасибо

Подробнее здесь: https://stackoverflow.com/questions/781 ... s-to-false
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»