• Convert.ToString или var.ToString. В чем разница?

    ну изначально вы переменную var лучше не обзывайте (если у вас вообще так сработало), var - используется для объявления переменной. Ну и что бы 2 раз длинные названия не писать либо выбирать (если много одноимённых).
    var a = new MyRelizMetod(); допустим как то так, где MyRelizMetod это ваш какой либо метод (который вы сами написали).
    с помощью ToString() вы можете преобразовать только в строку, с помощью пакета Convert.* вы можете преобразовать типы между собой, так допустим из сроки получить число ( важно что бы в строке были только цифры). Либо значение переменной типа double перевести в переменную типа decimal
    Ответ написан
    Комментировать
  • Convert.ToString или var.ToString. В чем разница?

    GavriKos
    @GavriKos
    Конкретно для int и конкретно эта перегрузка конверта - ничем.
    https://msdn.microsoft.com/ru-ru/library/x70d7t0y(...

    А так - Convert используют когда нужно указать дополнительные особенности форматирования.
    Ответ написан
    Комментировать
  • Имеет ли смысл начинать с Си?

    @cijiw
    Си в настоящее время имеет очень узкую сферу применения.
    Микроконтроллеры да масенькие кусочки нагруженных систем.

    При этом он не страхует программиста, не экономит ему время - в отличие от более современных языков.
    Из Си-подобных в настоящее время широко применяется С#, Go, начинается Rust.

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

    Си - слишком низкий уровень.
    Имхо, его следует учить после более современных реинкарнаций - C#, Go, Rust.
    Ответ написан
    3 комментария
  • Почему string - это char*?

    Я так понял, что std::string не имелся в виду.
    То есть суть вопроса такова: почему строки передают как char*, хотя это тип указателя на один char.

    Дело в том, что массивы в C нельзя передавать как параметр функции, указатель на массив нельзя сохранить.
    В результате массив, например char[8], принято передавать как указатель на его первый элемент: char*. Более того, при передаче массива в функцию он автоматически разлагается (decays) до указателя на первый элемент.

    Остальные элементы получаются при помощи адресной арифметики: *(p+3) или p[3], что одно и то же. Итак, указатель в коде C может указывать как на одну переменную, так и на целый массив (точнее, его начало).

    Для массивов int или любого другого типа обычно вместе с указателем на первый элемент передают размер массива. Но строки C завершаются нулевым символом, поэтому здесь длина известна и так. Вот и получается, что char* используют вместо char[N].

    Edit: На самом деле, в C можно объявить указатель на массив:
    int (*arr)[10] = malloc(sizeof(*arr) * 5);
    Не помню, чтобы я видел такую конструкцию в реальном коде.
    Ответ написан
    1 комментарий
  • Имеет ли смысл начинать с Си?

    @mr_jumper
    На текущий момент Си/Си++ не только промышленный язык, но и хороший язык для обучения. Почему на мой взгляд язык Си знать нужно:
    1. Понимание как работать с памятью. Увы, люди, которые ни разу не изучали низкоуровневое программирование похоже не догадываются откуда память берется и куда она девается. Этот язык заставляет всегда помнить о памяти. Не зависимо от того, каким языком в будущем вы будете зарабывать себе на жизнь, эта база будет там. Скрытая, но будет. И лучше понять ее в начале, чем позже набивать шишики.
    2. Понимание как работает железо: ЦПУ, сеть, файловые операции и прочее. Именно на таких языках как Си можно увидеть как выглядит многоточное программирование изнутри, что значит "как два байта переслать" да по сети. Все остальное это надстройки над.
    3. Развивает внимательноть. Низкоуровневые языки не прощают. Вообще не прощают ничего. Если в некоторых высокоуровневых языках можно просто забить на обявления переменных. Ну упадет и упадет, поиск ошибок это просто. В Си нужно четко представлять, где и что будет записано, на какую память мы ссылаемся. Когда и кем память буедт очищена.
    4. Кросплатформенность. Си это один из первых кросплатформенных языков. Именно в этом его сила и заключается. Даже сейчас. Благодаря этому языку JVM работает на многих платформах. Не все так радужно. Но попробовать реализовать что-то что работает под Windows и unix стоит - опять же ради понимания сути вещей.
    https://ru.wikipedia.org/wiki/%D0%A1%D0%B8_(%D1%8F...
    5. Понимание сути как "это" работает очень важна иначе можно стать специалистом как в шутке "Если программист Делфи не находит компонент, то говорит, что задача не решаемая".
    6. Интернет вещей предполагает прогарммирвоание встраевымых устройств. Если вам это интересно, то это один из языков, которые хотелось бы знать.

    После 5и лет программирвоания вы поймете, что основы они постоянны, языки смертны... В одной книге вычитал хорошую фразу "Если вы реализовали механизм транзакций на COBOL, после вам все равно на каком языке его писать еще раз".
    Ответ написан
    1 комментарий
  • Имеет ли смысл начинать с Си?

    @spotifi
    Изучать следует начинать с языка со статической типизаций.

    В частости С подходит по этому критерию.
    Плюс в изучении С - много литературы и пр. информации.
    Минусы - будете не только язык изучать, а еще и со стандартами и их разной кривости реализациями бороться. То, что работает в реализации Clang на Linux не будет работать в реализации MSVC на Windows и в реализации GCC на FreeBSD. Оно вам надо?
    Плюс в С легко отстрелить себе ногу.
    Плюс реальная польза от Си - это только в слабых микроконтроллерах (мощные модели вполне способны и целые операционные системы запуска), да в написании операционных систем. В других областях или давно перешли или переходят на другие языки.

    Я бы предложил Go.

    Статическая типизация.
    Мощь и простота в одном флаконе.
    Жесткий стандарт - разные версии на разных ОС комилируются запросто.

    Скриптовые динамические языки - PHP, JavaScript, Python, Ruby, Perl, Lua - плохо для начинающего. Прививает нехорошее отношение к переменным.

    Rust, D, Java, Dart - слишком много концепций, не будете знать на чем сосредоточить внимание.

    Haskell, Erlang - функциональные концепции, далеко оторванные от массового программирования, которое в большинстве своем императивное.
    Ответ написан
    108 комментариев
  • Как поправить кодировку Visual Studio, чтоб в консоли были русские буквы?

    setlocale(LC_ALL, "rus");
    Ответ написан
    Комментировать
  • Можно ли использовать в C# структуру классов, написанную на Java?

    Applez
    @Applez
    Разраб
    Языки практически копии, напишите на одном, потом перенесите в другой и поправьте ошибки, коих будет не много.
    Ответ написан
    Комментировать
  • Что нужно знать, на будущее, о среде .NET?

    Razaz
    @Razaz
    Asp.Net junkie
    Вообще .Net давно работает на Nix*. Просто имплементация стандарта не поддерживалась MS официально.
    Вот тут списочек : Mono Software Showcase.

    Сейчас MS меняет свою политику по части инструментов и тд. и будет официально поддерживать свою реализацию платформы на Win, Mac и Linux.
    Вот страничка CoreFx - https://github.com/dotnet/corefx. Как видите билды на Linux уже проходят.
    А вот CoreClr - https://github.com/dotnet/coreclr. Там уже и на Маке подняли билды.

    А нужно многим. Например, я бы рад сделать продукты кроссплатформенными, но от Java глаза вытекают(особенно после C#6), Scala - слишком нишевая, интерпретируемые я не люблю(производительность, нет статической типизации и тд- просто личное предпочтение). Вот и остается только C#/.Net. Ну и не я один такой)

    Если откинуть хэйтинг МС отдельными личностями - то ИМХО C#/.Net сейчас наиболее перспективный и интересный тулсет.
    Ответ написан
    2 комментария
  • null null null null

    iproger
    @iproger
    Безответственный гений
    Хм. Вам не кажется, что данных маловато?
    Ответ написан
    Комментировать
  • А можно ли использовать язык BrainFuck на ЕГЭ?

    @stg34
    Вспоминается анекдот.
    Два солдата, один — другому:
    — Давай над прапорщиом подшутим?
    — Хватит, над деканом уже пошутили…
    Ответ написан
    Комментировать
  • А вы используете нижнее подчеркивание для именования глобальных переменных?

    VasKravchuk
    @VasKravchuk
    когда использую С#, если private/protected то начинаю с маленькой буквы, если public элемент — с большой, без подчеркиваний.
    Стараюсь делать как написано в msdn guidline.
    У каждого языка свои стандарты + кому как нравится :)
    Ответ написан
    Комментировать