0

教授が言ったように、テキストファイルから配列または「構造の配列」にデータを分割する必要があるプロジェクトがあり、それを行う方法についてかなり混乱しています。

基本的に、テキストファイルに次のように配置されたデータがあります(このようにする必要はありません.. 1行に1つにすることができます):

PR214;MR43T;RBL8;14K22
PR223;R43;RJ6;14K24
PR224;R43N;RN4;14K30
PR246;R46N;RN8;14K32
PR247;R46TS;RBL17Y;14K33
PR248;R46TX;RBL12-6;14K35
PR324;S46;J11;14K38
PR326;SR46E;XEJ8;14K40
PR444;47L;H12;14K44

最初の列 (PR...) の数字は CCC 番号を表します。2 列目、3 列目、4 列目は、3 つの異なる会社の部品番号を表します (2 列目はある会社、3 列目は別の会社、など)。ユーザーは会社名と、ラジオ ボタンを選択してその会社の下にある部品番号 (つまり、会社 3 と "RJ6") を入力し、顧客に CCC 番号 ( "PR223")。

宿題をやってくれと言っているわけではありませんが、配列を把握するのに苦労しています。これを行う方法について、私に正しいことを指摘していただけますか?

4

3 に答える 3

1

他の答えは正しいです。テキスト ファイルから各行を読み取り、データによって定義された構造体に値を挿入します。新しい行ごとに、構造体のインスタンスを使用する必要があるため、構造体のグループである構造体の配列を作成します。

配列を理解するのに苦労している場合は、本当にそれに取り組む必要があります。配列はボックスのグループのようなものと考えてください。3つのボックスを並べて始めましょう。それぞれが同じサイズで、中に収まるものしか収納できません。ボックスにアイテム (データ) のタイプを割り当てることができますが、すべてのボックスはそのタイプのアイテムしか保持できません。ボックスには 0 から 2 までの番号が付けられています。一部の言語では、ボックス (連想配列) に名前を付けることができますが、C# の知る限りではできません。これにより、1 次元配列が得られます。

2 次元配列については、チェス盤を考えてください。チェスの試合を記録する方法を知っていますか? チェスの記譜法では、横位置に A ~ H、縦位置に 1 ~ 8 を使用します。したがって、白のクイーンは D1 の位置から開始します。チェス ゲームをプログラミングする場合は、チェス盤と同じように 8x8 配列を使用します。もちろん、私のアレイの番号は、上部が 0 ~ 7、側面が 0 ~ 7 です。配列内の白の女王の位置は [3][0] になります。したがって、データを 2 次元配列に配置することは、チェス盤に駒を配置するようなものです。ゲームの戦艦は、2 次元配列の別の例です。

配列に次元を追加することは、グラフに新しい座標を追加するようなものです。Xから始めてYを追加すると、Z追加されます。などなど。

于 2012-11-17T05:22:13.903 に答える
0

StreamReader のReadLineメソッドを使用して、一度に 1 行ずつファイルを読み取ることができます。次に、String.Split(char[])メソッドを使用して、各行の値の文字列配列を取得できます。構造を作成する方法を既に知っている場合は、設定する必要があります。

于 2012-11-17T04:31:09.793 に答える
0

データの各行を見ると、「列」の間に共通の区切り文字があるため、各行を 4 つの個別のエンティティに分割する必要があります。行ごとに作業し、これらの 4 つの個別の要素を取得すると、それぞれを構造の適切な部分に割り当てることができます。もちろん、各行に 1 つの「構造」があるため、最後に構造の配列がここにあります。

于 2012-11-17T04:31:32.950 に答える