3

これにどのようにアプローチしますか?価格とアイテムを格納する必要がある 2 つのデータを含むデータのリストがあります。行の総数を知らなくても、これを配列に格納する方法はありますか? または、多次元のコレクションを使用する必要がありますか?

ありがとう

4

4 に答える 4

6

はい - 一般的なリストを調べることをお勧めします。これを使用して、データをモデル化し、好きなだけアイテムを保存できます。

例えば

  public class PricedItem
    {
        public decimal Price { get; set; }
        public object Item { get; set; }
    }

List<PricedItemこれらは、 > - または「価格設定済みアイテムのリスト」として保存/取得できます。

それが役立つことを願っています

于 2011-02-21T17:08:56.137 に答える
2

たとえば、アイテムIDをキー、価格を値として、「辞書」ジェネリックコレクションを使用する必要があるようです。

コレクションにさらに情報が必要な場合は、項目クラスのインスタンスを辞書に格納することもできます。したがって、アイテム クラスに id、name、description、price などのプロパティがある場合、次のようなことができます。

Dictionary<int, item> items = new Dictionary<int, item>();
items.add(myitem.id, myitem);

次に、任意のアイテム ID について、次のような情報にアクセスできます

string description = items[id].description; 
decimal price = items[id].price;
于 2011-02-21T17:11:00.767 に答える
2

List<>価格とアイテムを含む複合タイプの を使用します。KeyValuePair<>厳密に型指定されたキー (アイテム) と値 (価格) を格納できる、a と呼ばれる組み込みの構造型があります。AList<KeyValuePair<string, string>>と一部の Linq を使用すると、行、キー、または値に基づいてルックアップを実行できます。アイテムに基づいて価格を調べたい場合、Dictionary は Key によってアクセス可能な KeyValuePairs のコレクションであり、同様の機能を提供できますが、異なる内部構造を使用するため、行番号によるアクセスは使用できません。

于 2011-02-21T17:13:36.620 に答える
0

あなたが持つことができた

struct Item
{
    float Price;
    string ItemName;
}

List<Item> items = new List<Item>();
items.Add(new Item{Name="item1", Price=19.99});
于 2011-02-21T17:12:29.577 に答える