|
Étude
pratique : Ajouter des articles à une collection
|
|
- Changez le fichier FlowerInventory.cs comme suit :
using System;
namespace FlowerShop4
{
public abstract class AFlower
{
protected int items;
public AFlower()
{
items = 0;
}
public int Count
{
get { return items; }
}
public abstract int Add(Flower obj);
}
public class FlowerInventory : AFlower
{
public Flower Head;
public Flower Inventory;
public FlowerInventory()
{
Head = null;
}
public override int Add(Flower NewFlower)
{
Flower Sample = new Flower();
Sample = NewFlower;
Sample.Next = Head;
Head = Sample;
return items++;
}
}
}
|
- Accédez au Program.cs et le changer comme suit :
using System;
namespace FlowerShop4
{
public class Program
{
static int Main(string[] args)
{
FlowerInventory flowers = new FlowerInventory();
Flower nice;
nice = new Flower();
nice.Type = FlowerType.Lilies;
nice.Color = FlowerColor.White;
nice.Arrangement = FlowerArrangement.Bouquet;
nice.UnitPrice = 39.95M;
flowers.Add(nice);
nice = new Flower();
nice.Type = FlowerType.Daisies;
nice.Color = FlowerColor.Mixed;
nice.Arrangement = FlowerArrangement.Bouquet;
nice.UnitPrice = 40.50M;
flowers.Add(nice);
nice = new Flower();
nice.Type = FlowerType.Carnations;
nice.Color = FlowerColor.Lavender;
nice.Arrangement = FlowerArrangement.Any;
nice.UnitPrice = 34.85M;
flowers.Add(nice);
nice = new Flower();
nice.Type = FlowerType.Roses;
nice.Color = FlowerColor.Pink;
nice.Arrangement = FlowerArrangement.Bouquet;
nice.UnitPrice = 29.95M;
flowers.Add(nice);
nice = new Flower();
nice.Type = FlowerType.Daisies;
nice.Color = FlowerColor.Yellow;
nice.Arrangement = FlowerArrangement.Vase;
nice.UnitPrice = 29.95M;
flowers.Add(nice);
return 0;
}
}
}
|
|
- Enregistrez tout
Une fois qu'une liste existe, l'utilisateur peut
l'explorer. Une des opérations effectuées sur des articles est de
localiser et rechercher un. Pour ce faire, vous pouvez créer une méthode
qui prend comme argument un index. La méthode examinerait l'argument
quant au nombre d'articles dans la liste pour s'assurer que la valeur de
l'argument est dans la gamme des articles courants de la liste. Si le
nombre est si bas ou trop haut, la méthode peut renvoyer nulle ou 0.
Si le nombre est dans la gamme, la méthode peut renvoyer l'article à
cette position. Voici un exemple:
public class Numbers
{
int size;
Number Sample;
public Number Head;
public Numbers()
{
size = 0;
Head = null;
}
public int Count
{
get { return size; }
}
public int Add(Number NewItem)
{
Number Sample = new Number();
Sample = NewItem;
Sample.Next = Head;
Head = Sample;
return size++;
}
public Number Retrieve(int Position)
{
Number Current = Head;
for (int i = Count - 1; i > Position && Current != null; i--)
Current = Current.Next;
return Current;
}
}
|
Étude
pratique : Recherche des articles d'une collection
|
|
- Accédez au fichier FlowerInventory.cs et ajoutez la méthode
suivante :
using System;
namespace FlowerShop4
{
public abstract class AFlower
{
protected int items;
public AFlower()
{
items = 0;
}
public int Count
{
get { return items; }
}
public abstract int Add(Flower obj);
public abstract Flower Get(int index);
}
public class FlowerInventory : AFlower
{
public Flower Head;
public Flower Inventory;
public FlowerInventory()
{
Head = null;
}
public override int Add(Flower NewFlower)
{
Flower Sample = new Flower();
Sample = NewFlower;
Sample.Next = Head;
Head = Sample;
return items++;
}
public override Flower Get(int index)
{
Flower Current = Head;
for(int i = Count - 1;
i > index && Current != null;
i--)
Current = Current.Next;
return Current;
}
}
}
|
- Accédez au fichier Program.cs et le changer comme suit :
using System;
namespace FlowerShop4
{
public class Program
{
static int Main(string[] args)
{
FlowerInventory flowers = new FlowerInventory();
Flower nice;
nice = new Flower();
nice.Type = FlowerType.Lilies;
nice.Color = FlowerColor.White;
nice.Arrangement = FlowerArrangement.Bouquet;
nice.UnitPrice = 39.95M;
flowers.Add(nice);
nice = new Flower();
nice.Type = FlowerType.Daisies;
nice.Color = FlowerColor.Mixed;
nice.Arrangement = FlowerArrangement.Bouquet;
nice.UnitPrice = 40.50M;
flowers.Add(nice);
nice = new Flower();
nice.Type = FlowerType.Carnations;
nice.Color = FlowerColor.Lavender;
nice.Arrangement = FlowerArrangement.Any;
nice.UnitPrice = 34.85M;
flowers.Add(nice);
nice = new Flower();
nice.Type = FlowerType.Roses;
nice.Color = FlowerColor.Pink;
nice.Arrangement = FlowerArrangement.Bouquet;
nice.UnitPrice = 29.95M;
flowers.Add(nice);
nice = new Flower();
nice.Type = FlowerType.Daisies;
nice.Color = FlowerColor.Yellow;
nice.Arrangement = FlowerArrangement.Vase;
nice.UnitPrice = 42.75M;
flowers.Add(nice);
Console.WriteLine("//=//=//=//=//=//=//=//=//=//=//=//=//=//=//");
Console.WriteLine("Total: {0} flower items in current inventory",
flowers.Count);
Console.WriteLine("--------------------------------------------");
Console.WriteLine("Inventory Summary");
for (int i = 0; i < flowers.Count; i++)
{
Console.WriteLine("------------------------");
Console.WriteLine("Flower Information");
Console.WriteLine("Type: {0}", flowers.Get(i).Type);
Console.WriteLine("Color: {0}", flowers.Get(i).Color);
Console.WriteLine("Arrangement: {0}",
flowers.Get(i).Arrangement);
Console.WriteLine("Unit Price: {0:F}",
flowers.Get(i).UnitPrice);
}
Console.WriteLine("//=//=//=//=//=//=//=//=//=//=//=//=//=//=//");
return 0;
}
}
}
|
- Exécutez l'application pour regarder le résultat :
//=//=//=//=//=//=//=//=//=//=//=//=//=//=//
Total: 5 flower items in current inventory
--------------------------------------------
Inventory Summary
------------------------
Flower Information
Type: Lilies
Color: White
Arrangement: Bouquet
Unit Price: 39.95
------------------------
Flower Information
Type: Daisies
Color: Mixed
Arrangement: Bouquet
Unit Price: 40.50
------------------------
Flower Information
Type: Carnations
Color: Lavender
Arrangement: Any
Unit Price: 34.85
------------------------
Flower Information
Type: Roses
Color: Pink
Arrangement: Bouquet
Unit Price: 29.95
------------------------
Flower Information
Type: Daisies
Color: Yellow
Arrangement: Vase
Unit Price: 42.75
//=//=//=//=//=//=//=//=//=//=//=//=//=//=//
Press any key to continue . . .
|
- Fermez la fenêtre DOS
Supprimer un article consiste à l'enlever de la
liste. Il y a deux approches principales que vous pouvez utiliser. Vous
pouvez simplement demander à la classe de supprimer un article. Dans
ce cas-ci, c'est habituellement l'article à l'extrémité qui est supprimée. Si vous faites ceci, assurez vous
d'effectuer d'autres opérations
courantes telles que décrémenter le compte d'articles dans la liste.
Voici un exemple :
public class Numbers
{
. . . No Change
public bool Delete()
{
if (Head == null)
{
Console.WriteLine("The list is empty");
return false;
}
Number Current;
Current = Head.Next;
Head.Next = Current.Next;
size--;
return true;
}
}
|
|