Генерация чисел от и до? c#

Tuw

Client
Регистрация
07.09.2014
Сообщения
441
Благодарностей
150
Баллы
43
Привет, ребятки, подскажите сниппет на c# генерирующий рандомные цифры в переменную/файл. Допустим нужны цифры от 1 до 10 с каждой новой строчки. Типо:
Код:
1
2
3
4
5
6
7
8
9
10
 

ibred

Client
Регистрация
04.04.2015
Сообщения
3 835
Благодарностей
3 542
Баллы
113
Код:
var num = "";
int ct = Convert.ToInt32(project.Variables["count"].Value);
for (int i=1; i<ct; i++){
   num = num+i+"\r\n";
}
return num;
У Вас должна быть переменная "count", в которой будет хранится число максимального кол-ва итераций. В нашем случае это 11. Результат сохраняется в переменную, которая будет указана в кубике C#.
 
  • Спасибо
Реакции: trecho

Tuw

Client
Регистрация
07.09.2014
Сообщения
441
Благодарностей
150
Баллы
43
Код:
var num = "";
int ct = Convert.ToInt32(project.Variables["count"].Value);
for (int i=1; i<ct; i++){
   num = num+i+"\r\n";
}
return num;
У Вас должна быть переменная "count", в которой будет хранится число максимального кол-ва итераций. В нашем случае это 11. Результат сохраняется в переменную, которая будет указана в кубике C#.
Спасибо! А код верный? Что-то не производит, пустота)
p.s. не пойму что-то, а как регулировать конечную цифру? допустим хочу 540 сделать
 

Вложения

ibred

Client
Регистрация
04.04.2015
Сообщения
3 835
Благодарностей
3 542
Баллы
113
Спасибо! А код верный? Что-то не производит, пустота)
p.s. не пойму что-то, а как регулировать конечную цифру? допустим хочу 540 сделать
Эм, я же под кодом написал, что конечная цифра регулируется в переменной count. Чтобы получить числа от 1 до 10, там должно быть 11.
У Вас там сейчас 0 - поэтому и пустая строка на выходе. Будьте внимательней.2016-02-09_5-41-10.jpg
 
  • Спасибо
Реакции: Tuw

Tuw

Client
Регистрация
07.09.2014
Сообщения
441
Благодарностей
150
Баллы
43

surrealmix

Client
Регистрация
07.03.2013
Сообщения
715
Благодарностей
409
Баллы
63
Альтернативный вариант

Код:
var numbers = Enumerable.Range(1, 100).Select(x => x.ToString());
return string.Join(Environment.NewLine, numbers);
 

dixzida

Новичок
Регистрация
15.11.2017
Сообщения
2
Благодарностей
0
Баллы
1
  1. var numbers = Enumerable.Range(1, 100).Select(x => x.ToString());
  2. return string.Join(Environment.NewLine, numbers);

    как брать числа из переменно?
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 100
Баллы
113
как брать числа из переменно?
C#:
int start = int.Parse(project.Variables["start"].Value);
int count = int.Parse(project.Variables["count"].Value);

var numbers = Enumerable.Range(start, count).Select(x => x.ToString());
return string.Join(Environment.NewLine, numbers);
 
  • Спасибо
Реакции: udder, Igorii и orka13

dixzida

Новичок
Регистрация
15.11.2017
Сообщения
2
Благодарностей
0
Баллы
1
спасибо
 

Igorii

Client
Регистрация
21.02.2015
Сообщения
369
Благодарностей
292
Баллы
63
C#:
int start = int.Parse(project.Variables["start"].Value);
int count = int.Parse(project.Variables["count"].Value);

var numbers = Enumerable.Range(start, count).Select(x => x.ToString());
return string.Join(Environment.NewLine, numbers);
@Dimionix, а можно сделать, что бы код генерировал числа от и до, но с заданной в переменной кратностью? Допустим числа от 150 до 200 с кратностью 10 -
150
160
170
180
190
200
И ещё можно подобный код, но что бы выдавал только одно случайное число, кратное заданному?
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 100
Баллы
113
@Dimionix, а можно сделать, что бы код генерировал числа от и до, но с заданной в переменной кратностью? Допустим числа от 150 до 200 с кратностью 10
C#:
int start = int.Parse(project.Variables["start"].Value);
int count = int.Parse(project.Variables["count"].Value);
int i = 10;

IEnumerable<int> numbers = Enumerable.Range(start, count).Where(x => x % i == 0);
return string.Join(Environment.NewLine, numbers);
И ещё можно подобный код, но что бы выдавал только одно случайное число, кратное заданному?
C#:
int start = int.Parse(project.Variables["start"].Value);
int count = int.Parse(project.Variables["count"].Value);
int i = 10;

Random rnd = new Random();
int num = Enumerable.Range(start, count).Where(x => x % i == 0).OrderBy(x => rnd.Next()).First();
return num;
 
  • Спасибо
Реакции: udder, Igorii и evgen_po

Igorii

Client
Регистрация
21.02.2015
Сообщения
369
Благодарностей
292
Баллы
63
C#:
int start = int.Parse(project.Variables["start"].Value);
int count = int.Parse(project.Variables["count"].Value);
int i = 10;

IEnumerable<int> numbers = Enumerable.Range(start, count).Where(x => x % i == 0);
return string.Join(Environment.NewLine, numbers);
C#:
int start = int.Parse(project.Variables["start"].Value);
int count = int.Parse(project.Variables["count"].Value);
int i = 10;

Random rnd = new Random();
int num = Enumerable.Range(start, count).Where(x => x % i == 0).OrderBy(x => rnd.Next()).First();
return num;
Спасибо!!!
 

Igorii

Client
Регистрация
21.02.2015
Сообщения
369
Благодарностей
292
Баллы
63
C#:
int start = int.Parse(project.Variables["start"].Value);
int count = int.Parse(project.Variables["count"].Value);
int i = 10;

IEnumerable<int> numbers = Enumerable.Range(start, count).Where(x => x % i == 0);
return string.Join(Environment.NewLine, numbers);
C#:
int start = int.Parse(project.Variables["start"].Value);
int count = int.Parse(project.Variables["count"].Value);
int i = 10;

Random rnd = new Random();
int num = Enumerable.Range(start, count).Where(x => x % i == 0).OrderBy(x => rnd.Next()).First();
return num;
@Dimionix, почему то в обоих кодах генерируются числа, большие чем задано в переменной "count". Что-то не так?
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 100
Баллы
113
@Dimionix, почему то в обоих кодах генерируются числа, большие чем задано в переменной "count". Что-то не так?
start и count - это значения не от и до, а значение первого (начального) числа и количество последовательных чисел.
Т.о, чтоб сгенерировать
нужно задавать значения 150 и 51 соответственно.
 
  • Спасибо
Реакции: Igorii

Igorii

Client
Регистрация
21.02.2015
Сообщения
369
Благодарностей
292
Баллы
63
start и count - это значения не от и до, а значение первого (начального) числа и количество последовательных чисел.
Т.о, чтоб сгенерировать

нужно задавать значения 150 и 51 соответственно.
Блин, не досмотрел, ясно. А от и до можно сделать?
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 100
Баллы
113
Блин, не досмотрел, ясно. А от и до можно сделать?
C#:
int start = int.Parse(project.Variables["start"].Value);
int max = int.Parse(project.Variables["max"].Value);
int i = 10;

IEnumerable<int> numbers = Enumerable.Range(start, max - start + 1).Where(x => x % i == 0);
return string.Join(Environment.NewLine, numbers);
C#:
int start = int.Parse(project.Variables["start"].Value);
int max = int.Parse(project.Variables["max"].Value);
int i = 10;

Random rnd = new Random();
int num = Enumerable.Range(start, max - start + 1).Where(x => x % i == 0).OrderBy(x => rnd.Next()).First();
return num;
 
  • Спасибо
Реакции: udder, backoff и Igorii

Igorii

Client
Регистрация
21.02.2015
Сообщения
369
Благодарностей
292
Баллы
63

udder

Client
Регистрация
28.03.2017
Сообщения
595
Благодарностей
118
Баллы
43
@Dimionix Здравсвуйте.
Подскажите, пожалуйста. Как генерировать числа по такой логике:
Начальное число - 1000
Отнимаем - 200

Нужно получить числа от 800 до 1000
 

zlodey

Client
Регистрация
24.04.2011
Сообщения
131
Благодарностей
9
Баллы
18
C#:
int start = int.Parse(project.Variables["start"].Value);
int count = int.Parse(project.Variables["count"].Value);

var numbers = Enumerable.Range(start, count).Select(x => x.ToString());
return string.Join(Environment.NewLine, numbers);
Как правильно что бы получить только одно число на выходе?
 

serg1208

Client
Регистрация
17.04.2018
Сообщения
331
Благодарностей
15
Баллы
18
C#:
int start = int.Parse(project.Variables["start"].Value);
int max = int.Parse(project.Variables["max"].Value);
int i = 10;

IEnumerable<int> numbers = Enumerable.Range(start, max - start + 1).Where(x => x % i == 0);
return string.Join(Environment.NewLine, numbers);
C#:
int start = int.Parse(project.Variables["start"].Value);
int max = int.Parse(project.Variables["max"].Value);
int i = 10;

Random rnd = new Random();
int num = Enumerable.Range(start, max - start + 1).Where(x => x % i == 0).OrderBy(x => rnd.Next()).First();
return num;
а можете подсказать, как count поставить 10-значное число? а то выходит ошибка. Спасибо
 

Shelov

Client
Регистрация
03.01.2020
Сообщения
11
Благодарностей
2
Баллы
1

serg1208

Client
Регистрация
17.04.2018
Сообщения
331
Благодарностей
15
Баллы
18

serg1208

Client
Регистрация
17.04.2018
Сообщения
331
Благодарностей
15
Баллы
18

cr3c

Client
Регистрация
02.07.2018
Сообщения
46
Благодарностей
6
Баллы
8
День добрый,подскажите как рандомить от 0.1 до 2 с шагом 0.05 чтобы значения брались из переменных все и ложилось тоже в переменную,спасибо!
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)