人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

C#のChar.IsDigitについて

using System;

using System.Collections;

class array01{
public static void Main(){
bool bEnd = false;
string strData;
double sum = 0.0;

ArrayList al = new ArrayList();

while (true){
Console.Write("Data___");
strData = Console.ReadLine ();

if(!Char.IsDigit(strData[0]) && strData[0] != '-'){//←ここがわかりません
bEnd = true;

}else{
al.Add (double.Parse (strData));

}
if(bEnd){
break;
}

for(int i = 0; i< al.Count; i++){
Console.WriteLine ("Data[{0}] = {1}",i+1,al[i]);
sum +=(double)al[i];
}
int count = al.Count;
double avr = sum/count;
Console.WriteLine ("Count = {0}",count);
Console.WriteLine ("The average = {0}",avr);
}
}
}
「←ここがわかりません」と書いてある部分についてなのですが、strData[0]はなぜ急に配列のような書き方に変わっているのでしょうか?
strDataにするとエラーになってしまいます。
あと、strData[0] != '-'の部分の「-」このハイフンは何を表しているのでしょうか?

初歩的な質問ですがよろしくお願いします


●質問者: 匿名質問者
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● 匿名回答1号

「←ここがわかりません」と書いてある部分についてなのですが、strData[0]はなぜ急に配列のような書き方に変わっているのでしょうか?

それは、IsDigit の引数ひとつの場合には、char を受けるように決まってるから。
http://msdn.microsoft.com/en-us/library/7f0ddtxh.aspx

strDataにするとエラーになってしまいます。

こういうメソッドもある。
http://msdn.microsoft.com/en-us/library/0t641e58.aspx

あと、strData[0] != '-'の部分の「-」このハイフンは何を表しているのでしょうか?

それは、C# に関係なく、そのアプリの仕様の話。
空行を入力するか、'-' を入力したら足し算のループを止めたいんでしょ。


2 ● 匿名回答2号

プログラムのやっていることは、ループで数値を入力させ、数字以外ならループを終了します。

そして、入力された数値の和を取っています。

わからないというところで、'-'はマイナスの場合を意味しています。

マイナスは先頭が-ですから。

それと配列にいきなりなるといいますが、.NETではstring型は配列の表記で一文字ずつアクセスできます。

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ