Завис я над таким вопросом, чтобы поставить интервал от и до, типа так:
class Program
{
static void Main(string[] args)
{
string alfavit = "abc";
for (int a = 0; a < alfavit.Length; a++)
{
string start_pos = "cb";
string end_pos = "cd";
string main = start_pos + alfavit[a].ToString();
Console.WriteLine(main);
if (main == end_pos)
{
Console.WriteLine(main);
}
main = end_pos + alfavit[a].ToString();
Console.WriteLine(main);
if (main == end_pos)
{
Console.WriteLine(main);
}
}
Console.ReadKey();
}
}
}
Как получить так чтобы комп показал вот так на экране: cba cbb cbc cca ccb ccc cda cda cda
Есть много разных способов. Классический способ — установление соответствия между вашей строкой и записью числа в n
-ичной системе счисления (для вашего случая n == 3
). Я покажу более простой с идеологической точки зрения вариант, который имитирует переход к следующей строке. Для удобства я буду пользоваться массивами символов.
class Alphabet
{
int size;
List<char> letters;
Dictionary<char, int> indices;
public Alphabet(IEnumerable<char> letters)
{
this.letters = letters.ToList();
this.indices = this.letters.Select((c, idx) => new { c, idx })
.ToDictionary(p => p.c, p => p.idx);
this.size = this.letters.Count;
}
public bool Advance(ref char c)
{
var letterPos = indices[c] + 1;
if (letterPos == size)
letterPos = 0;
c = letters[letterPos];
return letterPos > 0;
}
public bool Advance(char[] chars)
{
for (int index = chars.Length - 1; index >= 0; index--)
{
if (Advance(ref chars[index]))
return true;
}
return false;
}
}
Имея такой вспомогательный класс, можно делать разные вещи. Например, вывод всех строк:
var abc = new Alphabet("abc");
var chars = "aaa".ToCharArray();
do
{
Console.WriteLine(new string(chars));
} while (abc.Advance(chars));
Вывод строк от "bac"
до "cab"
:
var chars2 = "bac".ToCharArray();
do
{
var s = new string(chars2);
Console.WriteLine(s);
if (s == "cab")
break;
} while (abc.Advance(chars2));
и т. д.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Есть необходимость задавать текстовую маску для двух компонентов разных типовКаждый из них эту возможность поддерживает
Проблема заключается в следующем, на стороне клинта, клиент может запустить задачу и она начинает выполняться на стороне сервера, а клиент...
Есть DataGridViewПодскажите, возможно ли изменить цвет границы всех ячеек? К примеру, сделать зеленым