C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 144 を表示中)
■84543 / )  Re[1]: c#で配列を座標として使用したいのですが...
□投稿者/ ぽぴ王子 (45回)-(2017/07/14(Fri) 10:23:44)
ぽぴ王子 さんの Web サイト
No84541 (emu さん) に返信
CSVファイルはこっちへ置いておくとして、最初の投稿の

> //-----------------------------------------
> public data1(double q, double a1)
>     {
>         this.q = q;
>         this.a1 = a1;
>     }
> //-----------------------------------------

このコードだと、ソース(この場合はソースコードの意味もあるけど、元ネタという意味で)
が足りなくて、ちょっと推測というより推理する感じになっちゃってましたね。

> //-------------------------------------------------
> public List<data1> qtArray;
>  public csvreadp(string data1)
>     {
>         this.qtArray = new List<data1>();
>         StreamReader sw = new StreamReader(data1, System.Text.Encoding.UTF8);
>         string line;
>         while ((line = sw.ReadLine()) != null)
>         {
>             string[] strs = line.Split(',');
>             if (strs.Length != 2) continue;
> 
>            double a= Double.Parse(strs[0]);
>            double b= Double.Parse(strs[1]);
>             qtArray.Add(new data1(a, b));
> 
>           //  Debug.Log("q:" + a + ", a:" + b);
>         }
> //-----------------------------------------------------

合わせて読むと data1 が座標をあらわすクラスで、最初のコードは data1 のコンストラクタ
で、その中に q と a1 という( X と Y にあたるのかな)座標を定義している…ということ
でしょうか。
今回出てきたコードと合わせて読むことでなんとなくそこまで『推測』できるぐらいになりましたが
最初のコードでは、やはり『推理』レベルだと思いました。動きが読み取れる程度の最低限の
コードを提示していただければと思います。

そして合わせて読んでみた限りですが CSV ファイルを読んだ結果得られるのは data1 クラス
のリストで、結論から言うとこれは 2 次元配列ではないですね。 1 次元配列です(正確に言うと
配列でもないですが)。

最初の投稿にあったコード

> //---------------------------------------------------------
> for (int idx = 0; idx < 100; idx++)
>       {
>            Point.Add(new Vector2(q[idx],a1[idx]));
>         }
> //---------------------------------------------------------

の意図(のようなもの)を解釈するとすれば、こんな感じになるんじゃないでしょうか。
(よく見ると idx でループしているので、これも2次元ではないですね)

    for (int idx = 0; idx < 100; idx++)
    {
        Point.Add(new Vector2(data1[idx].q, data1[idx].a1));
    }

自分は Unity は触ったことがないのでわからないですが、むしろ 1 次元だ 2 次元だというより
「なぜこういうコードなのか」「このコードはどういう意図で書かれているのか」をもう少し
理解するように努めたほうがいいのかな…という気はしました。

返信 編集キー/


管理者用

- Child Tree -