たびたびの質問失礼します。
C#の配列やリストを勉強中していますが、まだまだ初心者でわからないことだらけで困っております。
今回は、リストを作り、その中にユーザーが入力したものがあるかどうか、あればその情報を出力するというコードを書きたいと思っています。
例えば、
リストに「りんご、いちご、なし、ぶどう」があったとします。
画面に
「好きな果物は何ですか。
果物の名前を入力してください : 」と出力され、ユーザーが果物名を記入、あれば
ユーザー:「りんご」
出力:「出荷量が一番多いのは青森」
ユーザーが書いたものがなければ、「リストにありませんでした。」と出力したいです。
いろいろとインターネットで検索したのですが、リストに要素があるかどうかを検索し、出力する方法がわかりませんでした。。。
Containsを使って書いてみたのですが、リストにあるはずの果物を検索しても、「リストにありませんでした」と出てきてしまいます。
どのようにかけば、検索できるのでしょうか。
ご教授いただけると嬉しいです。よろしくお願いします。
今書いたコードはこれです:
List<string> kudamono = new List <string>{};
kudamono.Add("ringo");
kudamono.Add("ichigo");
kudamono.Add("nashi");
kudamono.Add("meron");
kudamono.sort();
Console.WriteLine("");
string like = Console.ReadLine();
if(kudamono.Contains(like)==true)
{
Console.wrteLine(kudamono);
}
else
{Console.WriteLine("リストにありませんでした。);
}
No.1
- 回答日時:
>いろいろとインターネットで検索したのですが、リストに要素があるかどうかを検索し、出力する方法がわかりませんでした。
。。>Containsを使って書いてみたのですが、リストにあるはずの果物を検索しても、「リストにありませんでした」と出てきてしまいます。
どのように入力してみたんでしょうか?
コマンドプロンプトでの実行結果をコピペして貼ってみてください。
# コマンドプロンプトの画面上で右クリック、「範囲選択」でドラッグしてコピーできるかと。
http://www.atmarkit.co.jp/fwin2k/win2ktips/609cl …
>Console.wrteLine(kudamono);
で表示されるのは入力したものではありませんが、そのあたりはOKなんですかね?
# WriteLine()になっていないのはご愛敬?
ご回答ありがとうございました。
その後、foreach文に変えてみたところ何とか読み取れるようになりました。
consoleについては、普通に書き間違えていました!すみません。ご指摘ありがとうございました。
No.2ベストアンサー
- 回答日時:
なんか考え方を間違ってると思われます。
そもそも構文エラーになるはず。。一応、.Containsで変数like がListに含まれているかどうかは分かりますが
それがListの何番目なのかは分かりません。
// Listのkudamonoの中からaという範囲変数を宣言、
// ※範囲変数a は変数like と一致すること。
// ※の条件を満たしたaを結果としてvarMatch に格納する
var varMatch = from a in kudamono where( a == like ) select a;
// varMatch からすべての要素を取り出す。取り出し先はstring型のansに入れる
foreach (string ans in varMatch )
{
Console.WriteLine(ans);
}
あとは、ringo以外にaoringo とかも含ませるならLike検索くらいでしょうか。
var varMatch2 = from a in kudamono.Where(item => item.Contains(like)) select a;
ご回答ありがとうございました。Containsでできなくてなぜだろうとわからなかったのですが、教えていただいたようなforeachでやってみたら、何とかできました。
だんだんと頭がこんがらがってきたので、もう一度最初の方から勉強しなおそうと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/06/15 14:11
- Chrome(クローム) 下に出てくるリストを消したい。 2 2022/06/17 16:47
- Visual Basic(VBA) ユーザーフォームの表示を追加したい 2 2023/03/26 23:18
- PowerPoint(パワーポイント) PowerPointの箇条書きの既定のリストを変更する方法について 1 2022/12/15 18:41
- 大学・短大 C言語線形リストの問題です 3 2022/12/22 00:45
- その他(IT・Webサービス) Googleマップで検索した結果のリストを作る方法はありますか? 1 2022/11/15 10:17
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
- その他(プログラミング・Web制作) python コードについて(初学者です) 3 2023/07/20 14:44
- Wi-Fi・無線LAN Wi-Fiの接続先が見つからない場合はどうしたらいいですか? 4 2023/03/30 16:44
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PS4コントローラーをPCでゲーム...
-
詳しくないので、どなたかお教...
-
VBA レジストリの値の読み方に...
-
コンセントの電力は入力と出力...
-
TV出力ポートをOFFにすれば良い...
-
4Kの外部モニターに出力すると...
-
COBOLのMOVEで桁数が異なる場合
-
AIに回答させるって
-
printfの書式%.*s
-
cout と cerrの違い
-
プログラムについての質問です...
-
printfとputcharの違いは
-
OBS配信すると、マイクが途切れ...
-
ExcelマクロでIEのHP上のダウン...
-
C++の’ \\n’と ’endl’ の違いに...
-
VBAでテキスト出力時のスペース...
-
\\00.入力先ディレクトリ上でWO...
-
【エクセル、並び替えについて】
-
Windows Formアプリからコンソ...
-
エクセルマクロで出力行の増や...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PS4コントローラーをPCでゲーム...
-
4Kの外部モニターに出力すると...
-
MMDでavi出力が出来ない
-
プログラムについての質問です...
-
コンセントの電力は入力と出力...
-
AIに回答させるって
-
OBS配信すると、マイクが途切れ...
-
VBAでテキスト出力時のスペース...
-
cout と cerrの違い
-
アクセスでエクセルに出力する...
-
printfとputcharの違いは
-
ACCESS クエリ→フォーム...
-
VBAのExecメソッドで画面を非表...
-
COBOLのMOVEで桁数が異なる場合
-
テキストファイルから特定の文...
-
VBAで有効数字の設定
-
coutで出力した文字を消去する...
-
Windows Formアプリからコンソ...
-
KEYENCEのシーケンスプログラム...
-
CRC16計算について
おすすめ情報