С#
Создать класс VideoGame, со свойствами:
1. Название игры
2. Создатель/Издатель игры
3. Минимально требуемый запас ОЗУ для запуска
4. Минимально требуемая видеопамять для запуска
5. Минимально требуемое кол-во ядер процессора.
Создать лист разнообразных игр, чем больше тем лучше.
Выполнить следующие задания:
1. Используя Where, получить все игры создателя/издателя А.
2. Реализовать класс Computer с полями ОЗУ, видеопамять и кол-во ядер.
2.1. Создать экземпляр класса Computer с какими-то характеристиками.
2.2. Используя Where, получить все игры, которые запустятся на этом компьютере.
2.3. Используя FirstOrDefault, получить игру/null, которая не запустится на этом компьютере.
2.4. Используя All, узнать, все ли игры запустятся на этом компьютере.
Ответы
Ответ:
Объяснение:
using System;
using System.Collections.Generic;
using System.Linq;
class VideoGame
{
public string Name { get; set; }
public string Creator { get; set; }
public int RequiredRAM { get; set; }
public int RequiredVideoMemory { get; set; }
public int RequiredProcessorCores { get; set; }
}
class Computer
{
public int RAM { get; set; }
public int VideoMemory { get; set; }
public int ProcessorCores { get; set; }
}
class Program
{
static void Main()
{
// Создание списка игр
List<VideoGame> games = new List<VideoGame>
{
new VideoGame { Name = "Game1", Creator = "A", RequiredRAM = 8, RequiredVideoMemory = 2, RequiredProcessorCores = 4 },
new VideoGame { Name = "Game2", Creator = "B", RequiredRAM = 4, RequiredVideoMemory = 1, RequiredProcessorCores = 2 },
new VideoGame { Name = "Game3", Creator = "A", RequiredRAM = 16, RequiredVideoMemory = 4, RequiredProcessorCores = 8 },
new VideoGame { Name = "Game4", Creator = "C", RequiredRAM = 32, RequiredVideoMemory = 8, RequiredProcessorCores = 16 }
};
// 1. Используя Where, получить все игры создателя/издателя А.
var gamesByCreatorA = games.Where(game => game.Creator == "A");
Console.WriteLine("Игры создателя/издателя А:");
foreach (var game in gamesByCreatorA)
{
Console.WriteLine(game.Name);
}
// 2.1. Создать экземпляр класса Computer с какими-то характеристиками.
Computer computer = new Computer { RAM = 16, VideoMemory = 4, ProcessorCores = 8 };
// 2.2. Используя Where, получить все игры, которые запустятся на этом компьютере.
var gamesRunnableOnComputer = games.Where(game =>
game.RequiredRAM <= computer.RAM &&
game.RequiredVideoMemory <= computer.VideoMemory &&
game.RequiredProcessorCores <= computer.ProcessorCores);
Console.WriteLine("\nИгры, которые запустятся на этом компьютере:");
foreach (var game in gamesRunnableOnComputer)
{
Console.WriteLine(game.Name);
}
// 2.3. Используя FirstOrDefault, получить игру/null, которая не запустится на этом компьютере.
var gameNotRunnableOnComputer = games.FirstOrDefault(game =>
game.RequiredRAM > computer.RAM ||
game.RequiredVideoMemory > computer.VideoMemory ||
game.RequiredProcessorCores > computer.ProcessorCores);
Console.WriteLine("\nИгра, которая не запустится на этом компьютере:");
if (gameNotRunnableOnComputer != null)
{
Console.WriteLine(gameNotRunnableOnComputer.Name);
}
else
{
Console.WriteLine("Нет игр, которые не запустятся на этом компьютере.");
}
// 2.4. Используя All, узнать, все ли игры запустятся на этом компьютере.
bool allGamesRunnableOnComputer = games.All(game =>
game.RequiredRAM <= computer.RAM &&
game.RequiredVideoMemory <= computer.VideoMemory &&
game.RequiredProcessorCores <= computer.ProcessorCores);
if (allGamesRunnableOnComputer)
{
Console.WriteLine("\nВсе игры запустятся на этом компьютере.");
}
else
{
Console.WriteLine("\nНе все игры запустятся на этом компьютере.");
}
}
}