2017-07-07 11 views
-1

私は以下の文字列を持っています:[Value:"Car" - Name:"Manufactor" [Value:"Audi" - Name:"A6"][Value:"BMW" - Name:"M4"]]]C#でアイテムのコレクションを格納するために使用するデータ構造は何ですか?

私は文字列を分割し、適切なデータ構造にデータを保存する必要があります。開始括弧「[」は収集の開始を示し、 の終了括弧「]」は収集の終了を示します。 " - "文字はキーと値を分離します。だからここで使用する論理データ構造のうち、最も多くのものが であると思っていましたか?ツリーを使用していますか?私は部分的に文字列を分割した、私は論理的なデータ構造を選択するために必要な助けが必要です。

ありがとうございます!

+3

これには一つの答えはありません。適切なモデルは、あなたが有用な方法でそれを使用できるようにするものです - あなたのシナリオに完全に特化しています –

答えて

1

あなたの構造に複数の葉を持つ枝のようなものがないので、ツリーを使うのは良い解決策ではありません。

あなたのユースケースを知らなくても、名前とメーカーのプロパティを持つカーオブジェクトのリストまたは配列を使用します。

0

Car以外の種類がある場合、それは一種のツリー、またはおそらくネストされた辞書のように見えます。または、単純な辞書です。 Dictionary<Manufacturer, List<CarModels>>

0

は、文字列は、私が推測よく形成されていない(3つの開口部ブラケットと4閉じたもの)、特に最後にこれら3つのクロージングブラケットで、あなたの文字列が曖昧になり

+0

彼の質問は、構文解析エラーではなくデータ構造に関するものです。 – Alex

+0

しかし、これは、1つのブランチと深さ3を持つツリーか、かっこに応じてキーと値のペアの集合になる可能性があります –

0

あなたがちょうどすることができますJavaScriptSerializerと同じです。 Dictionary(Of String、Object)を返し、Objectは文字列またはその他のDictionary(Of String、Object)のいずれかです。

最良の方法は、適切なクラスと良好なプロパティ名を持ち、情報を格納することです。