Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.11.2014, 22:01   #1
SKyzZz
Пользователь
 
Регистрация: 14.02.2011
Сообщений: 43
Злость Операция XOR над строками

Код:
        private string XOR(string _newrpart, string _extendedbinarysubkeyone)
        {
            string _xoreprsubkeyone = null;
            int[] s = new int[_newrpart.Length];
            int[] k = new int[_extendedbinarysubkeyone.Length];
            for (int i = 0; i < _newrpart.Length; i++)
            {
                for (int m = 0; m < _extendedbinarysubkeyone.Length; m++)
                {
                    if (s[i] == k[m] && s[i] == 0)
                    {
                        _xoreprsubkeyone.Insert(s[i], "0");
                    }
                    else if (s[i] == k[m] && s[i] == 1)
                    {
                        _xoreprsubkeyone.Insert(s[i], "1");
                    }
                    else if (s[i] != k[m])
                    {
                        _xoreprsubkeyone.Insert(s[i], "1");
                    }
                }
            }
            return _xoreprsubkeyone; // Return 11100101
        }
string _newrpart = "01000001"

string _extendedbinarysubkeyone = "10100100"

Additional information: Ссылка на объект не указывает на экземпляр объекта.
SKyzZz вне форума Ответить с цитированием
Старый 14.11.2014, 22:08   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

И что? У вас строка с непроизносимым и нечитаемым именем _xoreprsubkeyone — null. Вы даже сами ей его присвоили.
Вы наверно string.Empty ей присвоить хотели, а не null.
И вообще тут наверно лучше StringBuilder использовать. http://msdn.microsoft.com/en-us/libr...v=vs.110).aspx

А по какому принципу вы ставите _ в именах? Обычно в C# так делают для private полей класса.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 14.11.2014 в 22:10.
Alex11223 вне форума Ответить с цитированием
Старый 14.11.2014, 22:15   #3
SKyzZz
Пользователь
 
Регистрация: 14.02.2011
Сообщений: 43
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
И что? У вас строка с непроизносимым и нечитаемым именем _xoreprsubkeyone — null. Вы даже сами ей его присвоили.
Вы наверно string.Empty ей присвоить хотели, а не null.
И вообще тут наверно лучше StringBuilder использовать. http://msdn.microsoft.com/en-us/libr...v=vs.110).aspx

А по какому принципу вы ставите _ в именах? Обычно в C# так делают для private полей класса.
Вы думаете, я не гуглил да?, СтрингБилдер мне чушь возращает...
SKyzZz вне форума Ответить с цитированием
Старый 14.11.2014, 22:19   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Я не гуглил ничего сейчас. Не считая ссылки на документацию по SB.

Если "чушь" значит вы неправильно его используете.

Ну и я написал причину ошибки в этом коде и как ее можно исправить без SB. С ним просто эффективнее должно работать (на больших строках) потому что string неизменяемые и при каждом "изменении" копируются и создаются новые.

И еще
Цитата:
Код:
_xoreprsubkeyone.Insert(...)
должно быть
Код:
_xoreprsubkeyone = _xoreprsubkeyone.Insert(...)
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 14.11.2014 в 22:24.
Alex11223 вне форума Ответить с цитированием
Старый 14.11.2014, 22:23   #5
SKyzZz
Пользователь
 
Регистрация: 14.02.2011
Сообщений: 43
По умолчанию

Код:
        public int XOR(string _newrpart, string _extendedbinarysubkeyone)
        {
            int _xoreprsubkeyone = 0;
            _xoreprsubkeyone = Convert.ToInt32(_newrpart) + Convert.ToInt32(_extendedbinarysubkeyone);
            return _xoreprsubkeyone;
        }
тперь не хочет в строку обратно(
SKyzZz вне форума Ответить с цитированием
Старый 14.11.2014, 22:29   #6
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Вы какую-то фигню методом тыка пишете. Зачем вам сумма чисел? И даже если конкатенацию строк тут сделать, причем тут XOR? Зачем вообще в числа переводить? И еще вы в "0101" при переводе потеряете 0, а большая строка вобще не влезет в int.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 14.11.2014 в 22:33.
Alex11223 вне форума Ответить с цитированием
Старый 14.11.2014, 22:34   #7
SKyzZz
Пользователь
 
Регистрация: 14.02.2011
Сообщений: 43
По умолчанию

Снимок.jpg Видимо это магия :D
SKyzZz вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ОПЕРАЦИЯ НАД МНОЖЕСТВОМ!!!Pascal katringenper Помощь студентам 1 19.02.2012 17:31
Логическая операция xor Violetta_21 Помощь студентам 1 12.02.2011 13:27
Операция над элементами со списка b1otekk Microsoft Office Excel 1 02.06.2010 01:59
VBA for Excel "Операция над элементами со списка" b1otekk Помощь студентам 0 26.05.2010 23:13
Операция над массивом dragun4ik Помощь студентам 11 31.01.2010 14:12