質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

解決済

1回答

3070閲覧

C#初心者です。

r96022

総合スコア12

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

0クリップ

投稿2016/01/05 14:49

プログラム初心者です。
猫でもわかるC#プログラミングを見ながら勉強してます。
以下のサンプルプログラムがありました。

using System;
using System.Collections;

class arraylist01
{
public static void Main()
{
bool bEND = false;
string strData;
double sum = 0.0;
ArrayList al = new ArrayList();

while (true) { Console.Write("データ(数値以外入力で終了)-- "); 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("データ個数={0}", count); Console.WriteLine("平均値={0}", avr); }

}
サンプルプログラム以上

数値を入力して平均値を求めるプログラムです。
意味が分からなかったのは、
!Char.IsDigit(strData[0]) && strData[0] != '-'
の部分です。おそらく数値以外を入力するとtrueを返すんだと思いますが、単語一つ一つの意味が分かりません。
詳しく教えていただけませんでしょうか?
よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

よく考えれば当たり前ですが、
その単語一つ一つ、使い方がどこかに載っています。そうじゃなきゃ誰も使えません。
ことプログラミングに関しては大体のことがweb上に載ってます。

C#(というか.net framework)はとりあえずMSDNというサイトに全部書いてあります。
Char.IsDisitメソッドみたいにです。

とりあえず検索しましょう。


で、問題の
!Char.IsDigit(strData[0]) && strData[0] != '-'
ですが、
Char.IsDigit(...)は数字であればtrueを返します。
!が付いているのでその否定ですね。
strData[0] != '-'は'-'でなければtrueです。
要するにIsDigitで数字かどうかを判定したいけど
負数も数字に含めたいので条件にこれも追加したのでしょう。

ちなみに普通はTryParse()というものを使うと思いますが、
学習の進捗的に使ってないだけだと思います。

投稿2016/01/05 15:08

編集2016/01/05 15:14
ozwk

総合スコア13521

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

r96022

2016/01/06 05:00

回答ありがとうございます。 分からないことを自分で検索して解決するやり方も分からない状態でした。 今回の回答は勉強になりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問