078B6E3C77B9565836EFEA126CE0AD20 != 078B6E3C77B9565836EFEA126CE0AD20

Gfoblin

Client
Регистрация
30.05.2013
Сообщения
4 596
Благодарностей
1 014
Баллы
113
Почему 078B6E3C77B9565836EFEA126CE0AD20 не равно 078B6E3C77B9565836EFEA126CE0AD20 ?

Вроде строчки идентичны... но один раз из миллиона они не равны :-)
В общем на серваке считает crc/md5 файла, потом зенка считает и это дело сравнивается в кубике if... и вот вроде всё работает ровно, но где-то 1 на миллион они почему-то не совпадают...
 

amyboose

Client
Регистрация
21.04.2016
Сообщения
2 312
Благодарностей
1 191
Баллы
113
В чем проблема поставить повторную перепроверку + запись в лог в случае наличия разницы?
 

Gfoblin

Client
Регистрация
30.05.2013
Сообщения
4 596
Благодарностей
1 014
Баллы
113
В чем проблема поставить повторную перепроверку + запись в лог в случае наличия разницы?
вот в лог и пишется это... так собственно и обнаруживаю...
повторная как вариант конечно же... но тогда какой проверки верить? :-)
 

amyboose

Client
Регистрация
21.04.2016
Сообщения
2 312
Благодарностей
1 191
Баллы
113
сами по себе механизмы c# тоже могут иметь изъяны
я читал, что некоторые разработчики жаловались на ошибки конвертации числовых значений, которые уж точно были числовыми
Это могут быть ошибки Net Framework, какой-нибудь ошибочные инструкции CLR или ещё че-нибудь, так что лучше просто поставить проверку повторную и если обе не прошли, то искать проблемы в коде, а если вторая пройдет, то её считать верной
 

Lord_Alfred

Client
Регистрация
09.10.2015
Сообщения
3 916
Благодарностей
3 867
Баллы
113
Пару самых логичных вариантов:
1. В какой-то из предложенных строк в конце идет пробел или перевод строки, нужно сделать обоим строкам предварительно Trim
2. Строки сравниваются не как строки (а в этом случае может подтягиваться какой-то другой тип данных и там идет сравнение каким-то другим образом)
 

Estrys

Пользователь
Регистрация
15.09.2016
Сообщения
45
Благодарностей
42
Баллы
18
в строке символ на другом языке ?
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113

backoff

Client
Регистрация
20.04.2015
Сообщения
6 052
Благодарностей
6 481
Баллы
113
попробуй добавить кавычки

Код:
'078B6E3C77B9565836EFEA126CE0AD20' != '078B6E3C77B9565836EFEA126CE0AD20'
цифры можно без кавычек, а текст обязательно в кавычках... давно усвоил )
 

Чешир

Client
Регистрация
27.06.2014
Сообщения
1 634
Благодарностей
963
Баллы
113
никто ничего не знает кроме познавших, а те и знать ничего не хотят.
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 116
Баллы
113
я думаю, что ТС в курсе насчет кавычек..
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 518
Благодарностей
3 370
Баллы
113

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 116
Баллы
113

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 518
Благодарностей
3 370
Баллы
113
я не поленился - сравнил..
полная идентичность..
:-)
Ну эт понятно, что из поста тс они идентичны))
Надо, что бы тс в шаб встроил сброс строк в файл после ошибки проверки.
 

Gfoblin

Client
Регистрация
30.05.2013
Сообщения
4 596
Благодарностей
1 014
Баллы
113
Ну эт понятно, что из поста тс они идентичны))
Надо, что бы тс в шаб встроил сброс строк в файл после ошибки проверки.
да я сбрасываю, т.к. файл где не совпадает это дело удаляется и я руками проверяю почему такое...
Вот прошло 85000 циклов проверок и вот там такое :( т.е. кубик сравнения в зенке ошибся 1 раз на 85к!
К стате вопрос возник, т.к. в файл с этими ошибками пишем по красной ветки сравнения, может ли он сработать в момент падения инстанта, или тогда только по бедэнду выход?
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 518
Благодарностей
3 370
Баллы
113
да я сбрасываю, т.к. файл где не совпадает это дело удаляется и я руками проверяю почему такое...
Вот прошло 85000 циклов проверок и вот там такое :( т.е. кубик сравнения в зенке ошибся 1 раз на 85к!
Код:
if (project.Variables["a"].Value != project.Variables["b"].Value)
    {
        File.WriteAllText(@"C:\a.txt", project.Variables["a"].Value, Encoding.UTF8);
        File.WriteAllText(@"C:\b.txt", project.Variables["b"].Value, Encoding.UTF8);
        throw new Exception("md5 не сходятся"); // по красной
    }
К стате вопрос возник, т.к. в файл с этими ошибками пишем по красной ветки сравнения, может ли он сработать в момент падения инстанта, или тогда только по бедэнду выход?
Если имеется ввиду завершение, то надо закончить логику этим кубиком, если вылет, то нет.
 

Gfoblin

Client
Регистрация
30.05.2013
Сообщения
4 596
Благодарностей
1 014
Баллы
113
Пока вот еще 2 вылезло
09C27EA25BAB7EAD2B2336A2CFE37982 != 09C27EA25BAB7EAD2B2336A2CFE37982
078B6E3C77B9565836EFEA126CE0AD20 != 078B6E3C77B9565836EFEA126CE0AD20
 

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 518
Благодарностей
3 370
Баллы
113

Gfoblin

Client
Регистрация
30.05.2013
Сообщения
4 596
Благодарностей
1 014
Баллы
113

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)