У меня есть 3 списка, к примеру ( корзина, белые яблоки и красные яблоки) , Могу ли я записать 2 списка (белых и красных яблок ) в одну "корзину". // Просто я хочу , потом перебирать эту корзину яблок и сверять к какому списку он раньше относился
public class White : IApple
{
int IApple.Age { get; set; }
public White()
{
int quantityWhite=2;
List<White> white = new List<White>();
for (int i = 0; i < quantityWhite ; i++) { white.Add(new White()); }
}
}
public class Red : IApple
{
int IApple.Age { get; set; }
public Red()
{
int quantityRed=2;
List<Red> red = new List<Red>();
for (int i = 0; i < quantityRed ; i++) { red.Add(new Red()); }
}
}
public interface IApple
{
int Age {get;set;}
}
public class CBasket
{
private int cycle;
private List<IApple> content; // чтобы вот тут находились и белые и красные яблоки)
public void CycleExcute(CBasket iBasket) // Excute my project
{
int appleIndex = 0;
while (appleIndex < iBasket.content.Count) // Проверка яблок в корзине
{
IApple nextApple = iBasket.content[appleIndex];
nextApple.Age++;
if (nextApple is White)
{
//
}
}
}
}
Навскидку так может получиться:
using System;
using System.Collections.Generic;
using System.Linq;
namespace ConsoleApp2
{
class Program
{
static void Main(string[] args)
{
int quantity = 2;
var r = new Red();
var w = new White();
for (int i = 0; i < quantity; i++)
{
r.red.Add(new Red());
w.white.Add(new White());
}
var b = new CBasket();
b.AddToBasket(r.red);
b.AddToBasket(w.white);
b.CycleExcute();
Console.ReadLine();
}
}
public class White : IApple
{
int IApple.Age { get; set; }
public List<IApple> white = new List<IApple>();
}
public class Red : IApple
{
int IApple.Age { get; set; }
public List<IApple> red = new List<IApple>();
}
public interface IApple
{
int Age { get; set; }
}
public class CBasket
{
private int cycle;
private List<IApple> content = new List<IApple>(); // чтобы вот тут находились и белые и красные яблоки)
public void CycleExcute() // Excute my project
{
for (int i = 0; i < content.Count; i++)
{
IApple nextApple = content[i];
nextApple.Age++;
if (nextApple is White)
{
Console.WriteLine("White");
}
if (nextApple is Red)
{
Console.WriteLine("Red");
}
}
}
public void AddToBasket(List<IApple> newApples)
{
content = content.Concat(newApples).ToList();
}
}
}
ПС : никогда в конструкторе класса не стоит создавать еще экземпляр этого же класса.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
SystemIndexOutOfRangeException: "Индекс находился вне границ массива
Даны два множества A и B, представленные массивами целых чиселНайти разность A-B этих множеств (например, для A={1,2,3} и B={2,1} разность A-B={3})
Есть массив данных то есть строкЯ ввел что софт мне показал, все строки, которые кончаются на "qj", он показал, но потом, надо чтобы софт показал...
ЗдравствуйтеВозможно, этот полный пример поможет Вам разобраться с Вашим вопросом