• ベストアンサー

C#で配列の分割

D-Matsuの回答

  • ベストアンサー
  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.1

forとCopyTo()を使って分割後のListを一つずつ作ってく方法ですかねぇ。

参考URL:
http://msdn.microsoft.com/ja-jp/library/3eb2b9x8.aspx
gsany
質問者

お礼

CopyTo()というのは知りませんでした。参考にさせていただきます。 回答ありがとうございました。

関連するQ&A

  • C# 配列の配列(多次元配列?)

    C#において、配列の配列中に格納した値を、検索することを 行いたいのですが、格納した値そのものを見ることができません。 まだ、C#を始めて間もないので、配列に格納する時点で、 不備があるかも知れませんが、お願いします。 やりたいこと ・テキストファイル内にある値を、2次元配列または、多次元配列に格納 ・配列に格納した値で、データチェックなどを行う予定  テキストファイル内のデータは、下記内容となり要素数も固定ではなく変動する   A=1,2,3・・・   B=11,22,33・・・ 実際のソースは、 //配列 ArrayList list = new ArrayList(); //配列格納 1レコード毎用 ArrayList listtmp = new ArrayList(); while ((strGenderTextLine = objReader.ReadLine()) != null) {  string strBuffer;  //「=」前の値格納用変数  string[] strBuffer2; //「=」後の値格納用配列  listtmp=null;  //strtmpに「=」前の値を格納  strtmp = TextLine.Split('=').GetValue(0).ToString();  //strtmp2に「=」後の値を格納(配列)  strtmp2 = TextLine.Split('=').GetValue(1).ToString().Split(',');  for (int i = 0; i <= strtmp2.Length - 1; i ++)  {   //[i,0]に、「=」前の値を代入   if (i == 0)   {   listtmp.Add(strtmp);   }   else   {   listtmp.Add(strtmp2[i].ToString());   }  }  //list配列にlistTmp配列を格納(配列の配列)  list.Add(listtmp);  intT = intT + strtmp2.Length;  //行数カウント  intTLine = intTLine + 1;  } ここから、配列「list」内に入っている値を閲覧することができる方法を教えていただければと思います。 宜しくお願いいたします。

  • C♯の配列について

    C♯でプログラムを作っているのですが、配列の要素数の最大値と最小値の求め方がわかりません。配列の値の最大値の求め方は調べれば出てくるのですが、要素数の最大値等は調べてもわかりませんでした。 例えば下記のような配列があった場合 int[,,] a =new int[100,100,100] a[2,3,6]=1 a[4,5,9]=1 a[13,46,79]=1 a[8,15,45]=1 a[1,33,68]=1 それぞれの要素数の最小値1、3、6、最大値13、46、79は どのようにプログラムで求めればいいのでしょうか? よろしくお願いします。

  • C# スタックに格納する要素が配列について

    スタックに格納する要素が配列の場合 // スタック生成 Stack<int[]> StackObj = new Stack<int[]>(); // 格納する配列データーの作成 int[] ArrayWork = new int[2]; ArrayWork[0] = 7; ArrayWork[1] = 12; // スタックに格納 StackObj.Push(ArrayWork); のように記述できます 同様に、POP、PEEP、COUNTの場合、どのように記述すればいいでしょうか?

  • C++言語の配列の呼び方,動的・可変長の違い

    C++言語での配列の名称についての質問です. int Array[10]; みたいに宣言する普通の配列は「静的配列」と呼びますよね.コンパイル時に定数で要素数を指定しておかなければならないからですよね. これに対して,new[]演算子を用いて int *Array = new int[n]; といったように確保する配列はなんと呼ばれるのでしょうか. 実行後に変数を用いてその要素数を動的に指定できるので,「動的配列」と呼ぶ人が周りには多いです(「ポインタ配列」とも).しかし,C言語でのrealloc関数みたいに,直接に配列長を変化させるといったようなことはできませんよね. (改めてnew[]してmemcpy()すれば出来るのでしょうが) そこで,配列長をプログラム中で自在に変化させる方法としてstd::vectorを利用する方法がありますよね.このvectorを「動的配列」と呼ぶ人もいました. 私は,new[]したものは動的に要素数を指定できるがその後の配列長は固定であり,vectorはいつでも配列長が可変なので int Array[10]; ・・・静的固定長配列(静的配列) int n = 10; int *Array = new[n]; ・・・動的固定長配列 std::vector<int> v; ・・・可変長配列 と呼んでいるのですが,一般的にはそれぞれどのように呼ばれるのでしょうか. また,最近はstd::arrayをいうものを知りました.これについてもどのように呼ばれるのか,教えてください. よろしくお願いいたします.

  • アドレス格納のための二次元配列のメモリ動的確保

    アドレス格納のための二次元配列のメモリ動的確保 二次元配列のためにメモリを動的確保しなければならないのですが、 その配列に格納したいものが 「DATA型のポインタ」です。(DATA型はtypedefした構造体です。) プログラム実行中にmallocで確保した、数あるDATA型の構造体の、その先頭アドレスを リストアップするための配列です。 この場合、どのような形でmallocすればよいのでしょうか? 教えていただけるとありがたいです。よろしくお願いいたします。 -- たとえば m×n のint型の配列は、 ◆ int *i; ◆ i = (int *)malloc( m * n * sizeof(int) ); となりますよね。 この要領がでやるのが一般的にわかりやすいものだとするならその方法でやりたい (後発の人が自分のソースコードを読む可能性があるため)のです。 -- 同様にm×nの「DATA型のポインタを格納するための二次元配列」を動的確保したい場合、 ◆ DATA *d; ◆ d = (DATA *)malloc( m * n * sizeof(DATA) ); この文にどのように付け加えたら良いのでしょう? もうあと一歩な気がするのですが(笑)。しかし参考書等で勉強しましたがわかりませんでした・・・。 わかる方、どなたかよろしくお願いいたしますm(_ _)m あとこれだけ通ればコンパイルが通るんです!!!!! たぶん(笑)

  • 配列の定義について

    配列とは、同じ形式のデーターを連続した記憶領域で確保するためのものである。 配列を構成する個々の領域を要素と呼び、要素の位置を添え字で示す。 Javaでは配列の先頭の要素を(0)番目と呼ぶ。 今、hairetsuという名前で10個の整数からなる配列を定義したい。 この場合の配列は(0)番目から始まり、終端は(9)番目である。 これを定義するには (int[] hairetsu;) (hairetsu = new int[10];) のように2行で行う方法と、 (int[] hairetsu = (new int[10];) のように、一行で行う方法がある。 Javaでは定義済みの配列の要素数は、配列変数名.(length)で知ることができ、 終端は(length + 1)番目となる。 したがって(length + 1)番目以降を使おうとすると、 配列要素の範囲外で(例外)が発生する。 この文章の( )の中は間違っていますか?

    • ベストアンサー
    • Java
  • ファイルからの読み込み 配列

    座標データの数値のテキストファイルから配列の中に座標値を格納したいのですが、int型のデータを読み込んで配列に格納するのは、どのようにプログラムを組めばよろしいのでしょうか?下のようにxzahyou.csvというファイルから配列Z[i]に格納したくて組んでみたら、 br = new BufferedReader(new FileReader("xzahyou.csv")); for(int i=0;i<X.length;i++){ String line = br.readLine(); X[i]=line; X[i] = line;のところで互換性がないと出てきました。int型の場合どのようにすればよろしいのでしょうか?教えてください。お願いします。

  • C#で配列の値をチェックするメソッドを書きたい

    C#の配列についてお教え頂けませんでしょうか? CSVファイルから1行読取り、配列に格納しています。 string[] rowdata; string x; int y; double z; TextFieldParser Parser = new TextFieldParser(FILEPATH, Encoding.GetEncoding("shift_jis")); while (!Parser.EndOfData) { //1行読取り rowdata = csvParser.ReadFields(); //読み取った値を変数に x = rowdata[0]; //string y = rowdata[1]; //int z = rowdata[2]; //double } rowdata[0~3]を変数に格納する前に、データのチェックをおこないたいです。 例えば、rowdata[1]はint型変数に格納されます。しかしrowdata[1]に格納された値が「A1」とあった場合、int型変数yには格納できずエラーが起こります。 よって、rowdata[1]に数値以外の文字列があったら「0」に置き換えるなどの処理をいれたいです。 なので、配列を受け取ってデータチェックをするメソッドを作りたいと思いますが、どのように作っていいかがわかりません。 1つのメソッドでint、double、stringかどうかの、チェックを行いたいですが、そのようなことは可能なのでしょうか? 下記のように3つメソッドを作って、データをメソッドに渡しチェックを行なうのがいいのでしょうか? string CheckData(string[] arr){}; int CheckData(int[] arr){}; double CheckData(double[] arr){}; やりたい事は、 メソッド(配列を受取る) rowdata[0]が渡された場合、中身はstringかのチェック。問題なければ格納されている値を返す。問題があれば、何らかの処理。 rowdata[1]が渡された場合、中身はintかのチェック。問題なければ格納されている値を返す。問題があれば、何らかの処理。 rowdata[2]が渡された場合、中身はdoubleかのチェック。問題なければ格納されている値を返す。問題があれば、何らかの処理。 以上のような事です。宜しくお願い致します。

  • 配列のディスプレイという使い方について

    先程は、ありがとうございました もうひとつ、お願い致します 「配列へのポインタ配列」 これは、配列のディスプレイという使い方についての説明です 以下がコードです int hoge1[10]; int hoge2[10]; int hoge3[10]; int *chobi[3]={hoge1,hoge2,hoge3}; まず、コードを見る限り、これは「配列のアドレスへの配列」と言えばよいのではないでしょうか 「ポインタ配列」とは、 *foo() こういうものだと認識しています (「配列へのアドレスの配列」が正しいかもしれません。容赦してください) 「配列へのポインタ配列」という表現が、全く理解できません どなたか説明お願い致します 次に、配列のアドレスを格納するのであれば char 型にするべきではないでしゅうか(アドレスは16進数なので) 最後に、使い方がわかりません 配列のアドレスを配列にして、どのように使うのでしょうか 以上、質問が多いですが、よろしくお願い致します

  • c# 配列の受け取り方

    こんにちは、 c#言語で、RETURNの返しが配列の場合 どのように疎ければよいのでしょうか? メイン処理 strmtcにrun_mainから帰ってくる配列を格納したい string[] strmtc = run_main(""); run_main処理 // カンマ区切りで分割して配列に格納する string[] sarray; sarray = s.Split(','); return sarray;