class Text {
private static byte maxCharIndex = 255;
public static string generateText(int textLength = 1)
{
char[] chars = new char[textLength]; // всё равно размер для массивов задаётся интом
Random r = new Random();
for (T i = 0; i < textLength; i++)
{
chars[i] = Convert.ToChar(r.Next(0, maxCharIndex));
}
return new string(chars);
}
}
2. Не избыточна ли тут ConcurrentQueue?
3. Как сообщить основному потоку из Task.run() что все готово к обновлению карт? Я понимаю что есть Task.Result, но если Task выполняется постоянно (while true), смогу ли я это использовать?
LastSurvivor ("123", new [] {3});
public string? Top => _elements.LastOrDefault(); // Обычный метод Last кидает исключение, если коллекция пустая
string? top = null;
try {
top = s.Top;
catch {}
Console.WriteLine($"Количество элементов в стеке: <{s.Size}>, верхний элемент стека: <{(top == null ? "null" : top)}>");
s.Top is {} t ? t : "null"
;var msg = s switch {
{ Size: 0 } => $"Стек пуст",
{ Size: var size, Top: var top} => $"Количество элементов в стеке: <{size}>, верхний элемент стека: <{top}>"
};
Console.WriteLine(msg);
Как вы понимаете основной трабл в листе (можно заменить на массив)
var obj = new TestObject { SomeField = "asd" };
JsonSerializer.Serialize(obj, new JsonSerializerOptions() { IncludeFields = true });
public class Test
{
public Test(params string[] elements) {
foreach(var element in elements)
AddElement(element);
}
private List<string> _elements = new List<string>();
public void AddElement(string x)
{
string AddElement = x;
_elements.Add(AddElement);
Console.WriteLine($"Элемент <{AddElement}> добавлен.");
Console.WriteLine($"Стэк: {String.Join("; ", _elements)}");
Console.WriteLine();
}
}
var x = new Test("a", "b", "c");
public class Test
{
private List<string> _elements = new List<string>();
// Для Collection Initializer нужен публичный метод Add
public void Add(string element) => AddElement(element);
public void AddElement(string x)
{
string AddElement = x;
_elements.Add(AddElement);
Console.WriteLine($"Элемент <{AddElement}> добавлен.");
Console.WriteLine($"Стэк: {String.Join("; ", _elements)}");
Console.WriteLine();
}
}
var x = new Test { "a", "b", "c" };