※ ChatGPTを利用し、要約された質問です(原文:C#で配列の値をチェックするメソッドを書きたい)
C#で配列の値をチェックするメソッドを作成する方法
このQ&Aのポイント
C#で配列の値をチェックするメソッドを作成する方法について詳しく教えてください。
CSVファイルから読み取ったデータを配列に格納する際に、データのチェックを行いたいです。中身がint、double、stringのいずれかであるかを確認し、問題があれば適切な処理を行いたいです。
具体的には、rowdata[0]が渡された場合は中身がstringかをチェックし、問題がなければ格納されている値を返します。rowdata[1]が渡された場合は中身がintかをチェックし、問題がなければ値を返します。rowdata[2]が渡された場合は中身がdoubleかをチェックし、問題がなければ値を返します。これらのチェックを行うメソッドを1つで実現する方法を教えてください。
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かのチェック。問題なければ格納されている値を返す。問題があれば、何らかの処理。
以上のような事です。宜しくお願い致します。
お礼
ご回答ありがとうございます。目からうろこの解決法です!ありがとうございました。