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

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

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

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

Q&A

解決済

2回答

1032閲覧

【C#】ifの記述方法について

testsome

総合スコア20

C#

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

0グッド

0クリップ

投稿2017/08/03 00:15

C#で、配列の中から特定の数値があるか判定するプログラムのサンプルを見つけたのですが、その中でよく分からない部分があります。

下記プログラムの最後の方に、if (search(data, 10))とありますが、()の中身はどういう意味なのでしょうか。配列dataの中に10があるかどうか探している、というのは分かるのですが、記述方法がよく分かりません。
分かりましたら教えていただけると助かります。

C#

1using System; 2 3public class LinearSearchTest 4{ 5 static bool search(int[] data, int key) 6 { 7 int i; 8 bool r = false; 9 for (i = 0; i < data.Length; i++) 10 { 11 if (data[i] == key) 12 { 13 r = true; 14 break; 15 } 16 } 17 return r; 18 } 19 public static void Main() 20 { 21 int[] data = { 5, 10, 3, 7, 8, 1, 9 }; 22 if (search(data, 10)) 23 { 24 Console.WriteLine("探しているデータが見つかりました"); 25 } 26 else 27 { 28 Console.WriteLine("探しているデータは見つかりませんでした"); 29 } 30 } 31}

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

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

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

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

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

guest

回答2

0

ベストアンサー

search() は bool の戻り値を返すと定義されています。
また if 文は、条件式 ※()の中 が true/false で判断しますから、上記の書き方ならば、
「search() の戻り値が true ならば」ということの短縮記法です。

冗長に書けば

C#

1if ( search(data,10) == true ) { 2... 3} else { 4... 5}

となります。

投稿2017/08/03 00:20

tacsheaven

総合スコア13703

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

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

testsome

2017/08/03 00:46

回答ありがとうございます。参考にさせていただきます。
guest

0

記述方法がよく分かりません。

というのは、渡している引数の意味が分からない、という事でしょうか?
ソースコードを見る限りは、dataは検索対象となる文字列で2つ目の引数が検索したい数値を表しているようです。
つまり、上記の判定はdataの配列の中に10という数字があるかどうかを判定している処理になります。

また、searchの戻り値はbooleanです。
if(search(data,10))は、if(search(data,10)==true) とも書けます。

知りたいことの回答になっていますでしょうか…

投稿2017/08/03 00:24

motuo

総合スコア3027

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

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

testsome

2017/08/03 00:41

回答ありがとうございます。今まで if(a == 0) や if(a < i) といった不等号を使っているものしか見たことがなく、if(search(data,10))のような形は初めて見たので、質問した次第です。参考にさせていただきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問