как я понял если вызывается 1 раз то нет разницы
я хотел узнать например есть класс у кого есть только 1 метод он возвращает какой-то текст
class RandomTextGenerator {
private readonly Random _random;
public RandomTextGenerator() {
this._random = new Random();
}
public string GetText() {
// Как-то используем _random для генерации текста
}
}
var array = new []{1, 1, 1, 2, 3, 3, 4, 4, 4, 4, 5, 6, 6, 7, 8};
SortByCountInPlace(new Span<int>(array));
Console.WriteLine(string.Join(',', array));
static void SortByCountInPlace(Span<int> array)
{
var dict = new Dictionary<int, int>(array.Length);
foreach (var value in array)
{
var count = dict.GetValueOrDefault<int, int>(value, 0);
dict[value] = count+1;
}
var i = 0;
// Только вот тут самая главная проблема
foreach (var (num, count) in dict.OrderByDescending(kv => kv.Value).ThenByDescending(kv=>kv.Key))
{
array.Slice(i, count).Fill(num);
i+=count;
}
}