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

Перенос значение переменной из одного класса в другой

15.06.2018, 13:58. Просмотров 502. Ответов 8
Метки нет (Все метки)

Пожалуйста, помогите разобраться с классами в C#.

В Program.cs прописаны следующие значения для переменных A, B, Count:

C#
1
2
3
4
5
6
7
<Данные опущены>
Console.WriteLine("\n\nВведите диапозон A...");
int A = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("Введите диапозон B...");
int B = Convert.ToInt32(Console.ReadLine());
int Count = 0;
<Данные опущены>
В файле ArrayRange.cs у меня прописан соответствующий класс, который считает количество символов в массиве:

C#
1
2
3
4
5
6
7
8
9
10
11
12
class ArrayRange
    {
        public void ElementNumber<T>(T[] array) where T : IComparable
        {
            T max = array[0];
            for (int i = 0; i < array.Length; i++)
            {
                if (Convert.ToInt32(array[i]) >= A && Convert.ToInt32(array[i]) <= B) Count++;
            }
            Console.WriteLine("\nКоличество элементов массива, лежащих в интервале от {0} до {1}, равно {2}", A, B, Count);
        }
    }
Значения A, B, Count не существуют в данном контексте в ArrayRange.cs.

Как правильно нужно объявить переменные в Program.cs, чтобы они были доступны другому классу?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.06.2018, 13:58
Ответы с готовыми решениями:

Не передается значение переменной одного класса в другой
Помогите пожалуйста ввожу вес груза 7 а он выводит тариф=10(а надо 13) using System; using...

Перенос значения из одного класса в другой
Хочу значение из одного класс перенести в другой класс и вывести public class TestCase_1 {...

Передать значение из одного класса в другой
помогите определить значение Есть код using System; using System.Collections.Generic;...

Передать значение из одного класса в другой
есть 2 класса public partial class MainPage : UserControl { void runer() ...

Значение переменной из одного метода в другой
Привет ребята! Я создал переменную в Классе и использую в методе . Как можно ее значение из метода...

8
Wolfdp
896 / 801 / 207
Регистрация: 15.06.2012
Сообщений: 3,168
Записей в блоге: 1
Завершенные тесты: 1
15.06.2018, 14:06 2
Цитата Сообщение от AndrewRi Посмотреть сообщение
Значения A, B, Count не существуют в данном контексте в ArrayRange.cs.
создайте класс-модель с полями/свойствами A,B,Count и передавайте куда нужно.
0
AndrewRi
0 / 0 / 0
Регистрация: 20.12.2015
Сообщений: 12
15.06.2018, 14:27  [ТС] 3
А можете показать пример в моем случае? Я не настолько силен в ООП. Если бы лучше понимал, как все это реализовывать, то вряд ли спрашивал.
0
_REVOLUTION_
15 / 14 / 9
Регистрация: 21.11.2015
Сообщений: 86
15.06.2018, 14:53 4
При объявлении класса можно указывать уровни доступности для каждого члена класса. Например:
C#
1
2
3
4
5
class Test1
    {
        public Int32 Test_int_public { get; set; } = 0;
        private Int32 Test_int_private { get; set; } = 0;
    }
Здесь переменная Test_int_public видна при использовании из внешних классов, т.к. у нее стоит уровень доступности "public", а переменная Test_int_private видна не будет из-за ее уровня доступности "private". Советую почитать документацию MS по уровням доступности, там все изложено просто, понятно и максимально широко
0
15.06.2018, 14:53
Wolfdp
896 / 801 / 207
Регистрация: 15.06.2012
Сообщений: 3,168
Записей в блоге: 1
Завершенные тесты: 1
15.06.2018, 15:16 5
Цитата Сообщение от _REVOLUTION_ Посмотреть сообщение
public Int32 Test_int_public { get; set; } = 0;
Извеняюсь, что это что? )

AndrewRi, для начала создайте отдельный класс с полями A,B,Count. Если и это не умеете, то нужно не на форум бежать, а прочитать базовую инфу по шарпу, это основа основ.
0
_REVOLUTION_
15 / 14 / 9
Регистрация: 21.11.2015
Сообщений: 86
15.06.2018, 16:13 6
Цитата Сообщение от Wolfdp Посмотреть сообщение
Извеняюсь, что это что? )
В классе "Test1" я объявил переменную с названием "Test_int_public" с модификатором доступности "Public", не задавая модификатора доступности для get и set, по умолчанию при таком раскладе задавать и получать значение этой переменной можно из другого класса, далее присвоил значение переменной, равное нулю

Добавлено через 6 минут
Цитата Сообщение от Wolfdp Посмотреть сообщение
Извеняюсь, что это что? )
Если вы спрашиваете про методы доступа get/set, то подробнее про них можно почитать так же у MS.
https://docs.microsoft.com/ru-ru/dot...ing-properties
0
Wolfdp
896 / 801 / 207
Регистрация: 15.06.2012
Сообщений: 3,168
Записей в блоге: 1
Завершенные тесты: 1
15.06.2018, 16:23 7
Цитата Сообщение от _REVOLUTION_ Посмотреть сообщение
далее присвоил значение переменной,
попробуйте скомпилить это. Там либо убрать/перенести присвоение, либо убрать get/set и оставить как поле.
0
_REVOLUTION_
15 / 14 / 9
Регистрация: 21.11.2015
Сообщений: 86
15.06.2018, 16:30 8
Цитата Сообщение от Wolfdp Посмотреть сообщение
попробуйте скомпилить это
Попробовал, все работает как надо. Использую VS Community 2017 с последними обновами. Полный текст исходного кода:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
using System;
 
namespace Test
{
    class Program
    {
        static void Main(string[] args)
        {
            Test1 test = new Test1()
            {
                Test_int_public = 10
            };
            Console.WriteLine(test.Test_int_public);
        }
    }
 
    class Test1
    {
        public Int32 Test_int_public { get; set; } = 0;
        private Int32 Test_int_private { get; set; } = 0;
    }
}
После запуска приложения получаем выхлоп в консоль "10"
0
Wolfdp
896 / 801 / 207
Регистрация: 15.06.2012
Сообщений: 3,168
Записей в блоге: 1
Завершенные тесты: 1
15.06.2018, 16:38 9
_REVOLUTION_, сори, внезапно єто фича 6 шарпа https://www.kunal-chowdhury.com/2014/11/csharp-6-auto-property.html
0
15.06.2018, 16:38
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.06.2018, 16:38

Передать данные одного обьекта класса в другой обьект на другой форме
Здравствуйте прочитал вот это http://www.cyberforum.ru/windows-forms/thread110436.html но так и...

Перенос элементов из одного массива в другой
Дано два случайно заполненных массива. Нужно скопировать (или переместить - как удобнее)...

Перенос данных с одного ListBox в другой
создать программку которая переносит с одного listbox где написаны фамилии и оценки при нажатии на...


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

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

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