public static IEnumerable<int> ExtensionMethod(this IEnumerable<int> list, int percentline)
{
try
{
if (list.Count() <= 100 && list.Count() >= 1)
{
IEnumerable<int> count = list.OrderByDescending(sort => sort).Take((int)(list.Count() * percentline / 100.0f));
Console.WriteLine("Перечень элементов: \n" + string.Join(", ", count));
}
else
{
throw new ArgumentException();
}
}
catch (ArgumentException)
{
Console.Write("ОШИБКА!!!\n");
}
return list;
}
var list = new List<int>() { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
list
.ExtensionMethod(10)
.ExtensionMethod(25);
<Window x:Class="WpfApp1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WpfApp1"
mc:Ignorable="d"
Title="MainWindow" Height="450" Width="800" Loaded="Window_Loaded" >
<Grid>
<ListBox x:Name="listbox1" DisplayMemberPath="Name">
</ListBox>
</Grid>
</Window>
public partial class MainWindow : Window
{
private MainViewModel viewModel = new MainViewModel();
public MainWindow()
{
InitializeComponent();
//добавляем сотрудников
viewModel.Employees.Add(new Employee() {Name="Иванов Иван" });
viewModel.Employees.Add(new Employee() { Name = "Петров Петр" });
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
//привязываем viewModel (необязательно для отображения списка)
this.DataContext = viewModel;
//привязываем коллекцию
this.listbox1.ItemsSource = viewModel.Employees;
}
}
int counter = 2;
if (counter == 0)
{
counter = 2;
return ("", "", "Вы спрашиваете слишком часто.");
}
int counter = 2;
if (counter == 0)
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);
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" };
static int GetInput(string paramName)
{
while (true)
{
Console.Write($"\nВведите значение <{paramName}>: ");
if (int.TryParse(Console.ReadLine(), out int xi) && xi % 2 == 0) return xi;
else
{
Console.BackgroundColor = ConsoleColor.Red;
Console.ForegroundColor = ConsoleColor.Black;
Console.WriteLine("\n***********************************************************************");
Console.WriteLine("*Ошибка: Один из идентифицированных элементов имел недопустимый формат*");
Console.WriteLine("***********************************************************************");
Console.ResetColor();
}
}
}
Console.WriteLine(getCount(moves,Figure.Queen));
//....
public int getCount(List<Coords>[][,] arr, Figure figure)
{
int count = 0;
foreach (var c in arr[(int) figure])
count += c.Count;
return count;
}