Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
 Аватар для rsotun
63 / 63 / 13
Регистрация: 20.04.2010
Сообщений: 475

Возврат значения с метода с условием

07.05.2015, 20:29. Показов 2546. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет!
Есть метод:
C#
1
2
3
4
5
6
protected string GetStatus(object dataItem)
    {
    int count = Int32.Parse(
    DataBinder.Eval(dataItem, "status").ToString());
    return count == 0 ? "Нету" : "Есть"; 
        }
Который соответственно возвращает нету или есть. А как добавить условие в этот метод? Или дополнительные возможности?
К примеру если передаваемый объект даты равен 1 то что то если 2 то еще что то вернуть...
Вообщем , как сделать метод более гибким?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.05.2015, 20:29
Ответы с готовыми решениями:

Возврат значения из метода
Всем привет, имею код int currentPosition = 0; // переменная текущей позиции курсора. Инициировали ...

Возврат более одного значения из метода
Доброго времени суток, читаю книгу SCHILDT'а и в конце каждой главы делаю упражнение что бы закрепить материал в главе 6 я познакомился с...

Возврат значения метода через указатель
Здраствуйте, помогите зделать что бы возврат результатов с метода решения уравнения возвращался через указатель. #include...

7
6 / 2 / 4
Регистрация: 07.05.2015
Сообщений: 20
07.05.2015, 20:50
как-то так
C#
1
2
3
4
5
6
7
8
9
10
11
protected string GetStatus(object dataItem)
{
       int intDataItem = (int)dataItem;
       if(intDataItem==1)
              return "Есть";
       elseif(intDataItem==2)
              return "Нет";
    int count = Int32.Parse(
    DataBinder.Eval(dataItem, "status").ToString());
    return count == 0 ? "Нету" : "Есть"; 
 }
правда, это при том, если через dataItem передается число
0
 Аватар для rsotun
63 / 63 / 13
Регистрация: 20.04.2010
Сообщений: 475
07.05.2015, 21:00  [ТС]
DrKotr,
Студия в таком случае пишет :
не все ветви кода возвращают значение
Именно поэтому я и создал тему. Ибо простое сравнение if switch и т.д. я знаю. Но в таком методе оно не работает.
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
07.05.2015, 21:01
Цитата Сообщение от rsotun Посмотреть сообщение
если передаваемый объект даты равен 1 то что то если 2 то еще что то вернуть...
Использовать словарь с парами ключ-значение.
0
6 / 2 / 4
Регистрация: 07.05.2015
Сообщений: 20
07.05.2015, 21:05
Цитата Сообщение от rsotun Посмотреть сообщение
Именно поэтому я и создал тему. Ибо простое сравнение if switch и т.д. я знаю. Но в таком методе оно не работает.
а ну на этот счет просто сделайте возврат значения по умолчанию, а в зависимости от условий корректируйте значение
C#
1
2
3
4
5
6
7
protected string GetStatus(object dataItem)
{
    int intDataItem = (int)dataItem;
    if(intDataItem==1)
         return "Есть";
    return "Нету"; 
 }
0
 Аватар для rsotun
63 / 63 / 13
Регистрация: 20.04.2010
Сообщений: 475
07.05.2015, 21:18  [ТС]
DrKotr,
Вот и хочу узнать ,как в зависимости от условия корректировать значение?
Это та работает , ну это для значения 1. А как проверить и на значение 2 и на 1?
C#
1
2
3
 if(intDataItem==1)
         return "Есть";
    return "Нету";
Если добавить второе условие , все , код уже не работает. Может я не знаю синтаксис ...

Добавлено через 18 секунд
insite2012, Можно пример или ссылку?
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
07.05.2015, 21:31
Лучший ответ Сообщение было отмечено rsotun как решение

Решение

Цитата Сообщение от rsotun Посмотреть сообщение
Можно пример или ссылку?
Можно.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace ConsoleApplication1 {
    class Program {
        static Dictionary<int, string> myVars = new Dictionary<int, string>();
        static void Main(string[] args) {
            myVars.Add(1, "ONE");
            myVars.Add(2, "TWO");
            myVars.Add(3, "THREE");
 
            string result = GetValueMethod(3);
        }
        static string GetValueMethod(int i) {
            return myVars.ContainsKey(i) ? myVars[i] : "НЭТУ!";
        }
    }
}
1
 Аватар для rsotun
63 / 63 / 13
Регистрация: 20.04.2010
Сообщений: 475
07.05.2015, 21:55  [ТС]
insite2012,
Спасибо! Немного переделал:
C#
1
2
3
4
5
6
7
8
9
10
  public static string GetValueMethod(object dataItem)
    {
        string  i = dataItem.ToString();
        Dictionary<string, string> myVars = new Dictionary<string, string>();
        myVars.Add("1", "ONE");
        myVars.Add("2", "TWO");
        myVars.Add("3", "THREE");
        
        return myVars.ContainsKey(i) ? myVars[i] : "НЭТУ!";
    }
Так как с гридвью не получается конвертировать в int.
Но почему то он всегда возвращает нету ...хотя значения разные

Добавлено через 7 минут
Блиин..Извняюсь! Тупанул! Забыл датабиндер! Вот работает:
C#
1
2
3
4
5
6
7
8
9
10
11
   public static string GetValueMethod(object dataItem)
    {
         int count = Int32.Parse(DataBinder.Eval(dataItem, "status").ToString());
        int  i = count;
        Dictionary<int, string> myVars = new Dictionary<int, string>();
        myVars.Add(1, "ONE");
        myVars.Add(2, "TWO");
        myVars.Add(3, "THREE");
        
        return myVars.ContainsKey(i) ? myVars[i] : "НЭТУ!";
    }
insite2012, Большое отдушевное СПАСИБО!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.05.2015, 21:55
Помогаю со студенческими работами здесь

Возврат метода
Собственно вот один метод. Нужно упростить пару строк, как-то криво написал, не красиво как не знаю. s = &quot;&quot;; ...

Возврат по имени метода
static void IsSolution(double a,double b, double c,ref double x1, ref double x2) { double d = b * b - 4 * a * c; ...

Возврат массива из метода
Решил попробовать поработать с возвратом массива из метода. Набросал небольшой пример с переводом числа в двоичную систему. 0 и 1...

Возврат объекта из метода
Не выходит создать новый объект в main. Метод смешивает массивы чередуя их символы, возвращает объект класса ArrayWork, но как я понимаю не...

Возврат ссылки из метода
Доброго времени суток! Дано: структура: struct Point { float x; float y; float z; }; класс:


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru