Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
Nad479
0 / 0 / 0
Регистрация: 03.11.2012
Сообщений: 22
1

Переменная, объявленная в цикле "не существует в текущем контексте"

06.11.2012, 23:21. Просмотров 721. Ответов 4
Метки нет (Все метки)

Подскажите не могу разобраться,как вывести переменную ай для дальнейшего поиска.
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace proba_tipa_spravochnik_2
{
    class Program
    {
        class kontakt
        {
            public string itsName = "";
            public string itsTel = "";
            public string kon()
            {
                string a = itsTel + itsName;
                return a;
 
            }
            public kontakt(string name, string tel)
            {
                itsName = name;
                itsTel = tel;
            }
        }
        class phonebook
        {
            kontakt[] masivPhonebook;
            public phonebook()
            {
                masivPhonebook = new kontakt[10];
            }
            public void add(kontakt user)
            {
                for (int i = 0; i < masivPhonebook.Length; i++)
                    if (masivPhonebook[i] == null)
                        masivPhonebook[i] = user;
            }
            public int poisk(string tel)
            {                
                for (int i = 0; i < masivPhonebook.Length; i++)
 
                    if (masivPhonebook[i] != null)
                        if (tel == masivPhonebook[i].itsTel)                            
                            return i;
                return 0;
            }
            static void Main(string[] args)
            {
                phonebook pole = new phonebook();
                int c = 0;
                Console.WriteLine("sozdat novogo usera 1");
                Console.WriteLine("dlya poiska usera 2");
                c = Convert.ToInt32(Console.ReadLine());
                switch (c)
                {
                    case 1:
                        {
                            Console.WriteLine("vvedite imya");
                            string name = Console.ReadLine();
                            Console.WriteLine("vvedite tel-n");
                            string tel = Console.ReadLine();
                            kontakt user = new kontakt(name, tel);                                                     
                            pole.add(user);
                        } break;
                    case 2:
                        {
                            Console.WriteLine("ukajite tel");
                            string tel = Console.ReadLine();
                            pole.poisk(tel);
                            Console.WriteLine(pole.poisk(i));
                        } break;
                    default:
                        break;
                }
                Console.ReadKey();
            }
        }
    }
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.11.2012, 23:21
Ответы с готовыми решениями:

Функция MessageBox.Show. Ошибка "Имя "MessageBoxIcon" не существует в текущем контексте."
private void btnOk_Click(object sender, RoutedEventArgs e) { ...

Исправить ошибку "CS0103 Имя "FinalTesting" не существует в текущем контексте"
using System; using System.Linq; using System.Text; namespace RockPaperScissors { ...

Ошибка "Элемент "obj" не существует в текущем контексте"
Подчеркивает obj, а в поле ошибок пишет что &quot;Элемент &quot;obj&quot; не существует в текущем контексте ...

Вылазит ошибка: "Элемент "y" не существует в текущем контексте"
Ребята помогите решить банальную задачу : Почему вылазит эта ошибка : &quot;Элемент &quot;y&quot; не существует...

Как использовать Thread.Sleep(5000), ошибка: "Элемент "Thread" не существует в текущем контексте"
я так понимаю, что Thread.Sleep(5000); это &quot;тормоз&quot; процесса выполенения программы на 5 сек? А...

4
Makc71
52 / 50 / 10
Регистрация: 28.09.2012
Сообщений: 97
06.11.2012, 23:35 2
Nad479, не знаю, это ли имелось в виду:
C#
1
2
3
4
5
6
                    case 2:
                        {
                            Console.WriteLine("ukajite tel");
                            string tel = Console.ReadLine();
                            Console.WriteLine(pole.poisk(tel));
                        } break;
А переменная i определена в контексте метода poisk и за его пределами не существует.
0
Nad479
0 / 0 / 0
Регистрация: 03.11.2012
Сообщений: 22
07.11.2012, 06:51  [ТС] 3
Да имелось ввиду эта переменная.
Я понимаю что за пределами поиска ее не существует в это вся и проблема как ее вытащить из метода.
0
Makc71
52 / 50 / 10
Регистрация: 28.09.2012
Сообщений: 97
07.11.2012, 08:53 4
Nad479, не понял, этот вариант чем не устраивает
C#
1
2
3
4
5
6
                    case 2:
                        {
                            Console.WriteLine("ukajite tel");
                            string tel = Console.ReadLine();
                            Console.WriteLine(pole.poisk(tel));
                        } break;
У Вас метод возвращает значение переменной i через оператор return. А для того, чтобы "вытащить" i достаточно вызвать этот метод.
1
Nad479
0 / 0 / 0
Регистрация: 03.11.2012
Сообщений: 22
07.11.2012, 09:14  [ТС] 5
т.е переменная тел и ай это одно и тоже?

Добавлено через 7 минут
Makc71 спасибо понял.
0
07.11.2012, 09:14
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.11.2012, 09:14

Элемент "X" и "Y" не существует в текущем контексте
Console.WriteLine(&quot;Задание 2.2&quot;); double x1 = -6, x2 = -3, x3 = 0,...

Двумерный массив. Ошибка "Элемент не существует в текущем контексте"
Ошибка: Элемент &quot;Nmass&quot; не существует в текущем контексте. using System; using...

Ошибка: "MessageBox.Show(res) не существует в текущем контексте"
MessageBox.Show(res); не существует в текущем контексте ошибка static void Main(string...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru