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

  • Автор темы Автор темы Tuw
  • Дата начала Дата начала

Tuw

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

Вложения

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

Код:
Развернуть Свернуть Копировать
var numbers = Enumerable.Range(1, 100).Select(x => x.ToString());
return string.Join(Environment.NewLine, numbers);
 
  1. var numbers = Enumerable.Range(1, 100).Select(x => x.ToString());
  2. return string.Join(Environment.NewLine, numbers);

    как брать числа из переменно?
 
как брать числа из переменно?
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);
 
спасибо
 
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, а можно сделать, что бы код генерировал числа от и до, но с заданной в переменной кратностью? Допустим числа от 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
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;
Спасибо!!!
 
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, почему то в обоих кодах генерируются числа, большие чем задано в переменной "count". Что-то не так?
start и count - это значения не от и до, а значение первого (начального) числа и количество последовательных чисел.
Т.о, чтоб сгенерировать
нужно задавать значения 150 и 51 соответственно.
 
  • Оценить
Реакции: Igorii
start и count - это значения не от и до, а значение первого (начального) числа и количество последовательных чисел.
Т.о, чтоб сгенерировать

нужно задавать значения 150 и 51 соответственно.
Блин, не досмотрел, ясно. А от и до можно сделать?
 
Блин, не досмотрел, ясно. А от и до можно сделать?
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
Работает!!! Благодарю!!!
 
@Dimionix Здравсвуйте.
Подскажите, пожалуйста. Как генерировать числа по такой логике:
Начальное число - 1000
Отнимаем - 200

Нужно получить числа от 800 до 1000
 
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);

Как правильно что бы получить только одно число на выходе?
 
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-значное число? а то выходит ошибка. Спасибо
 
День добрый,подскажите как рандомить от 0.1 до 2 с шагом 0.05 чтобы значения брались из переменных все и ложилось тоже в переменную,спасибо!
 

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