このアプリケーションでは、動物を列車に入れたいと思っています。動物には6種類あります。大型肉食獣、中型肉食服、小型草食動物、中型草食動物、小型草食動物。私はそれらを正確な順序で私のリストに入れたいと思います。これはどうすればいいですか?私のクラスの2つのプロパティでリストを注文するには
これは私の動物クラスです:
パブリックブール肉食動物。
public Size size;
public Animal(bool carnivore, Enum size)
{
this.carnivore = carnivore;
this.size = (Size) size;
}
これは私がそれらを注文したいクラスです:これは列挙型である
public List<Animal> Animals = new List<Animal>();
public List<Wagon> Wagons = new List<Wagon>();
public void Arrange()
{
Wagon w = new Wagon();
Wagons.Add(w);
foreach (Animal animal in Animals.ToList())
{
foreach (Wagon wagon in Wagons.ToList())
{
if (wagon.addAnimal(animal))
{
wagon.addAnimal(animal);
Animals.Remove(animal);
break;
}
else
{
Wagon wag = new Wagon();
wag.addAnimal(animal);
Animals.Remove(animal);
Wagons.Add(wag);
}
}
}
}
}
:
public enum Size
{
Small = 1,
Medium = 3,
Large = 5
}
私はによって、その後のもので、いくつかの順序を見つけたが、彼らは動作していないようです。私が私のように見える質問を見落とせば、すみません。
ありがとうございました!
「彼らはうまくいかない」とはどういう意味ですか?あなたはそのアプローチでどんな問題を見ていますか?列挙型サイズを共有できますか? Orderを使用したコードを共有する –
enumの宣言を投稿してください。実際には、列挙型の値を動物が望む順序で並べ替えるだけです。そうすればうまくいくはずです。 –
で注文を呼び出すときに昇順または降順を指定するのを忘れないでください順序が重要であるか、または動物を6個のワゴンに分けたいだけですか?だから、実際には 'GroupBy'が最初に良いアプローチになるでしょう。 –