• ReactiveUI, кто использовал для больших проектов?

    Nipheris
    @Nipheris Куратор тега C#
    Насколько оно вообще работает в сложных интерфейсах?

    Нормально работает, нужно только понимать что ты делаешь и не плодить бездумно сущности - можно легко переусложнить код или сожрать кучу вычислительных ресурсов. Если подходить с умом - всё нормально.
    Насколько оно кросс-платформенно?

    Я использовал только для WPF, цитата с сайта:
    ReactiveUI has first class support for Xamarin Forms, Xamarin.iOS, Xamarin.Android, Xamarin.Mac, Tizen, Windows Forms, Windows Presentation Foundation (WPF), & Universal Windows Platform (UWP).

    Стоит ли оно вообще того?

    Этот вопрос сводится к вопросу "Стоит ли использовать Rx в моём проекте?", т.к. ReactiveUI это мост между вышеперечисленными UI-технологиями и ReactiveX. Вот как только вам надоест вручную отслеживать связи между различными значениями в вашем пользовательском интерфейсе, тогда вы и придёте к ReactiveX с мольбами о помощи.
    Ответ написан
    1 комментарий
  • Как запустить проект С# на другом пк?

    Nipheris
    @Nipheris Куратор тега C#
    Во-первых, как уже отметил GavriKos, соберите проект в Release-конфигурации - exe-шник, собранный в релизе, будет оптимизирован не для отладки, а для использования в продакшене. Во-вторых, определитесь с версиями Винды, на которых будете запускать проект - с 7-кой идет .net 3.5 (включающий в себя 3.0 и 2.0), c 8-кой - 4.5 (который включает в себя 4.0). Если попали в эти пары версия ОС/версия .net - то отдельно фреймворк ставить не надо, если не попали (например, ваше приложение под .net 4.5 нужно запустить на семерке), то тогда нужно получить инсталлятор с microsoft.com и установить на целевую машину. В-третьих, не забудьте с экзешником приложить все зависимости - если вы использовали какие-то библиотеки, то их сборки должны лежать вместе с exe. В общем все, остальное уже специфично для конкретного приложения. Для целей тестирования, если нужно свести риски незапуска к минимуму, могу посоветовать поднять чистую виртуалку с соотв. версией винды, и попытаться запустить там приложение в том виде, в котором вы его подготовили. Тогда станет понятно, что не учли и что нужно еще поставить.
    Ответ написан
    Комментировать
  • Почему в результате выполнения программы j=0 ?

    Результат посфиксного икремента - значение аргумента до прибавления 1
    То есть код j = j++ можно представить так
    int tmp = j;
    j = j + 1;
    j = temp;


    Если посмотреть IL то в j = j++ будет такой код
    IL_0006: ldloc.0 // В стек кладем значение j (оно у нас == 0)
    IL_0007: dup     // Дублируем в стеке значение j  
    IL_0008: ldc.i4.1 // Кладем второй аргумент инкремента (он == 1)
    IL_0009: add      // Складываем два верних значения, результат кладем в стек
    IL_000a: stloc.0  // Сохраняем в j результат сложения
    IL_000b: stloc.0  // Сохраняем в j 0, который получился при dup


    Я нарисовал, что получается в стеке. Тут интересен опкод dup, который как раз делает int tmp = j;

    d278f75397094999b1cb5f60e8fe6a6d.png
    Ответ написан
    Комментировать
  • Какой язык программирования подходит для заработока?

    Petroveg
    @Petroveg
    Миром правят маленькие с#@&ки
    Моя первая девушка была из моего же класса. Увы, с ней я так и не смог толком понять, что такое — быть мужчиной. Ну там на 8 марта да на ДР цветочки подарить — это понятно, но на большее фантазии так и не хватало.

    Я решил бросить её как только школу закончу, а то скучно и беспесперктивняк какой-то... Да и шашни я с ней завёл, только чтобы мужчиной стать, а с этим беда — кроме @#$лей от её бывшего (из параллельного класса) я толком никакой школы и не получил.

    Вот в институте — там другое дело, девок симпотных побольше, и ломаются меньше (мне рассказывали, точняк — верить можно, парни проверенные), но... Какого-то лешего со мной никто не хочет мутить. Я начал в стриптиз-клуб ходить, там есть одна ничего так — я на неё постоянно пялюсь. Говорят, она на меня тоже посматривала (оказалось — наврали...).

    Потом мне посоветовали один клуб — типа оттуда никто одиноким не уходил, начал там зависать:) Круто! Мне 3 раза дали. Ну точнее 2, один раз девушка отрубилась и уснула у меня дома, но я решил, что она согласна. По-любому согласна, раз приехала. А с одной из них даже наметился романчег:)

    Меня правда смущает, что друзья стали посмеиваться надо мной, когда мою подругу увидели... Посоветовали другой клуб, где девчонки круче. Но у меня нет денег на этот клуб, хотя там и правда покрасивше будут...

    Посоветуйте — есть ли какой-нибудь клуб, где девчонки как из второго, а цены как из первого? Очень нужно.
    Ответ написан
    19 комментариев
  • Каков план личностного развития C# программиста с нуля?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    1. Родиться
    2. Стать личностью
    3. Узнать, чем "личностное развитие" отличается от профессионального
    Ответ написан
    Комментировать
  • Стоит ли вводить шкалу правильных ответов и сложность вопросов на тостере?

    vvpoloskin
    @vvpoloskin
    Инженер связи
    Вот я смотрю на первую страницу своей ленты и вижу такие вопросы:
    - как установить скрипт на digital ocean
    - как отнаследовать класс в python
    - стоит ли изучать python
    - каков план личностного развития
    - как в linux подключить модем
    и т.д.
    Вам кажутся сложными эти вопросы? Какой из них сложнее и за какой вы хотите получить высший бал? Здесь уже беспонтово стало задавать технические вопросы. Стало в каналах irc (дайте быстро ссылочку на что-то) и психологическом кабинете (помогите понять, что я хочу)
    Ответ написан
    Комментировать
  • Почему возникает ошибка "Необработанное исключение типа "System.ArgumentOutOfRangeException" в mscorlib.dll"?

    Или слишком большое число, не влазит в Int32
    Ответ написан
    Комментировать
  • Почему значение переменной не меняется?

    Illivion
    @Illivion
    Запустил ваш проект, каретка двигается. Даже не знаю, что и сказать. :)
    Ответ написан
    1 комментарий
  • SharpDevelop VS Visual Studio 2012. Что выбрать?

    foxmuldercp
    @foxmuldercp
    Системный администратор, программист, фотограф
    Visual Studi 2013 + Azure TFS (tfs.visualstudo.com), бесплатны для 5 разработчкиком.
    Azure TFS умеет и список задач со сроками и багтрекер и интеграцию с ms project.
    VS 12/13 Express бесплатны, а в 13 студии в принципе и без решарпера можно неплохо работать уже
    Ответ написан
    Комментировать
  • SharpDevelop VS Visual Studio 2012. Что выбрать?

    kynisa
    @kynisa
    I just press buttons.
    связке VS + Resharper нет равных имхо.
    Ответ написан
    4 комментария
  • Свойство "Стратегия создания кода". Почему большое количество ошибок?

    kynisa
    @kynisa
    I just press buttons.
    Предположу что вы используете Visual Studio 2012, а пример, который вы пытаетесь запустить, был создан в Visual Studio 2010. В таком случае решением будет пересоздать модель.

    Вам же я бы порекомендовал использовать ту же версию Visual Studio, которую использовал автор для написания примеров, это наверняка указано в начале книги. Так у вас гарантированно не возникнет ошибок при запуске примеров.
    Ответ написан
    1 комментарий
  • Как правильно использовать исключения?

    Тут достаточно просто все.
    Исключения помогают проскочить участок кода при выполнении определенных условий.
    Причем, при коде без вызовов функций - всегда можно заменить на if/else, но код будет многовложенным (один if в другом). Но такой код естественно давно никто не пишет.

    А при коде с вызовом функций это становится и вовсе невозможно (нельзя начало if написать в одном методе, а закрывающую скобку в другом). И нам приходится всю цепочку if передавать по стеку вызовов вверх.

    Идея же исключений такая:
    1. У нас есть алгоритм, который должен работать по заданной схеме. Мы нигде на уровне выше не проверяем корректность возвращаемых значений или правильность выполнения уровня ниже - он должен выполниться правильно или не выполниться. Это условие рождается из понимания инкапсуляции - каждый отвечает за свой кусок кода.
    2. Если в какой момент момент, метод (кусок кода), отвечающий за определенную функциональность понимает, что не может выполнить назначенную ему операцию - он сообщает об этом на уровень выше.
    3. Уровень выше может обработать исключительную ситуацию, либо (если не знает как) - передать исключение еще уровнем выше по стеку вызовов.

    Т.е. резюмирую: у нас есть код, который должен в 90% случаев обрабатываться по одному алгоритму и в 10% случаях могут возникать ситуации, когда этот алгоритм в одной конкретной части кода - пойдет по другому сценарию.
    Т.е. ваша задача писать код именно таким образом, чтобы исключения были лишь подстраховкой, а не частью основного алгоритма.

    Интересный момент реализации исключений в lisp: там можно выполнить код вызвавший исключение повторно (например попытаться подключиться к базе второй раз средствами самого исключения).
    Ответ написан
    Комментировать
  • C# и ngen.exe: Как транслировать в машинный код?

    andreycha
    @andreycha
    1) ngen нужно применить к головному exe файлу и всем библиотекам вашей программы (сторонние библиотеки -- по желанию).
    2) ngen применяется на компьютере конечного пользователя (например, как подсказали выше, во время инсталляции). Запустить ngen у себя на машине, а потом скопировать приложение пользователю -- так работать не будет.

    Ну и чтобы убедиться, что во время работы приложения подгружаются действительно нативные сборки, воспользуйтесь Fuslogvw.exe из состава Visual Studio, документация есть на сайте MSDN.
    Ответ написан
    Комментировать
  • Как в Linq выполить запрос без учета регистра?

    @DaMneD_SoUL
    Код с минимальныи изменениями для решения твоей проблемы
    string word = search_txbx.Text.;               
                    ObservableCollection<Model.Game> games = _ViewModel.Games;
                    var query = from db in games
                                where db.name.Contains(word, StringComparer.InvariantCultureIgnoreCase)
                                select db;
                    games_dgrd.ItemsSource = query;

    Советую ознакомится с другими способами сравнения строк
    Мне кажется допущена ошибка логиги нужно присваивать ItemsSource к ObservableCollection games(зарание созданном посредвом Linq) а не к IEnumerable получаемом в результате Linq операций
    Ответ написан
    2 комментария
  • Как в рантайме изменять лямбда выражение?

    isxaker
    @isxaker Автор вопроса
    //property selector
    Func<Person, Boolean> propertySelector = person => person.FirstNameIsActive;
    
    //your predicate
    Func<Person, Boolean> predicate = person => propertySelector(person) == true;
    
    //new person with true, false properties.
    Person p = new Person() {FirstNameIsActive = true,SecondNameIsActive = false};
    
    Console.WriteLine(predicate(p).ToString()); //prints true
    
    //change the property selector
    propertySelector = person => person.SecondNameIsActive;
    
    //now the predicate uses the new property selector
    Console.WriteLine(predicate(p).ToString()); //prints false
    Ответ написан
    Комментировать