Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
 Аватар для Дмытро
2 / 2 / 1
Регистрация: 01.04.2013
Сообщений: 259

Использование делегата, разобрать участок кода

13.12.2013, 20:08. Показов 840. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста разобраться как работает строка 26. Вот мне понятно то что объявляется переменная которой посредством метода явного преобразования присваивается введенное с клавиатуры в консоль число которое находится после точки. В строке 25 все понятно там указывается нулевой индекс началом чтения строки а переменная которая содержит индекс точки концом, но в строке 26 я попытался представить себя компилятором и запутался, так как исходя из формулы которая в ней описана следует что начать чтение нужно с первого индекса после точки, а окончить <--индексом с символом точка, что я и не могу понять. т.е. почему компьютер читает сначала последовательно например -->0,1,2...n - (.) а потом как то задом наперед, и дальше первого символа за точкой ничего не видно а возвращается к точке (.)+1 - (.), но выводит и читает все правильно!!! не понятно как то.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1
{
    class Program
    {
        delegate double ProcessDeligate(double param1, double param2);
        static double Umnogenie(double param1, double param2)
        {
            return param1 * param2;
        }
        static double Delenie(double param1, double param2)
        {
            return param1 / param2;
        }
        static void Main(string[] args)
        {
            ProcessDeligate process;
            Console.WriteLine("Введите два числа разделенных точкой:");2.10
            string input = Console.ReadLine();
            int commaPos = input.IndexOf('.');
            double param1 = Convert.ToDouble(input.Substring(0,commaPos));
            double param2 = Convert.ToDouble(input.Substring(commaPos+1,input.Length - commaPos - 1));
            Console.WriteLine("Введите у чтобы умножить или п чтобы поделить:");
            input = Console.ReadLine();
            if (input == "у")
                process = new ProcessDeligate(Umnogenie);
            else
                process = new ProcessDeligate(Delenie);
            Console.WriteLine("Результат:{0}", process(param1,param2));
            Console.ReadKey();
                
 
        }
    }
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.12.2013, 20:08
Ответы с готовыми решениями:

Разобрать участок кода и результат его работы
Вот сам код на C#: { int a,b; b = 0; for (a = 1; a &lt;= 5; b+=a++) { Console.WriteLine(b); } Console.ReadKey();

Использование делегата Action
Добрый день. Имеется такая задача Написать статический метод, выполняющий указанное действие над элементами матрицы целых чисел. ...

Разобрать небольшой участок кода
Привет всем, есть конструкция следующего типа def speak(message): return message if happy(): speak(&quot;I'm...

4
1617 / 1182 / 553
Регистрация: 08.01.2012
Сообщений: 4,561
13.12.2013, 20:46
input.Length - commaPos - 1 это же тебуемая длина,
при input="1.234", commaPos=1, Length=5 => 5-1-1=3 что и требовалось , начиная с commaPos+1
1
 Аватар для Дмытро
2 / 2 / 1
Регистрация: 01.04.2013
Сообщений: 259
13.12.2013, 20:56  [ТС]
то есть в методе input.Substring(,) до запятой указывается индекс начальной позиции "читателя" а после запятой требуемая длина символов с начальной позиции а не индекс последнего символа в строке?
0
1617 / 1182 / 553
Регистрация: 08.01.2012
Сообщений: 4,561
13.12.2013, 21:00
да, а чего контекстной подсказки нет?
1
 Аватар для Дмытро
2 / 2 / 1
Регистрация: 01.04.2013
Сообщений: 259
13.12.2013, 21:39  [ТС]
Цитата Сообщение от MansMI Посмотреть сообщение
да, а чего контекстной подсказки нет?
у меня в visual studioo 2010 Express все по английски, а я только 700 слов из англ знаю можно было конечно на msdn посмотреть этот метод, но я даже и не подумал что последним числом указывается именно требуемое количество а не индекс. В том видео по которому я смотрел говорят"тут начало и после точки конец строки " а в строке 25 "тут позиция начала и до позиции где точка"... поэтому я так и думал. сейчас временную ссылку на видео дам

Добавлено через 8 минут
Кликните здесь для просмотра всего текста

там где то с 1:07:00 минуты он говорит об этом...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.12.2013, 21:39
Помогаю со студенческими работами здесь

Участок B кода выполняется позже, чем участок A кода, но почему-то B влияет на работоспособность A! Почему?
Друзья! То есть суть такая, создаю объект и в конструктор передаю имя процесса и хэндл снимка системы. А в конструкторе начинается...

разобрать и пояснить данный участок задачи
cout &lt;&lt; endl &lt;&lt; endl; for(int i = 0; i &lt; 10; i++) // создание массива { if(ourArr &gt;= 10) { ourArr -= 10; } ...

Использование QSqlTableModel внутри делегата
Есть две таблицы для каждой из которых создан QSqlTableModel. Одна из таблиц отображается через QTableView. Для полей QTableView назначены...

Вызов метода(делегата) из неуправляемого кода
Есть способ передать адрес делегата в неуправляемый код как адрес функции, кто нибудь решил эту задачу для использования в своих проектах?...

Разница лямбда выражения, делегата (\анонимного делегата), методом (\анонимных методов)
Всё просто: В чём отличия: лямбд, делегатов, анонимных делегатов, методов, анонимных методов? У меня в проге сучилась такая...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru