2020年10月23日
川俣晶の縁側ソフトウェアC# コーディング How Tototal 1314 count

【入門級】foreachで数値をカウントする方法

Written By: 川俣 晶連絡先

foreachで数えたい §

 forではなく、foreachで数値を数えることはできるでしょうか?

 できません。

 foreach文に数を数える機能は含まれません。

 ですが、いくつかのメソッドの力を借りれば数値をカウントできます。

 たとえば、Selectメソッドはシーケンスの項目に昇順の番号を割り当てる機能があります。これを併用すると、foreachメソッドで数字をカウントできます。

 それには、Selectメソッドの引数のラムダ式に引数が2つあるものを使います。2つの引数のうち片方はシーケンスの値そのもの。もう1つはSelectメソッドが生成した昇順の番号です。

罠の数々 §

  • Selectメソッドがカウントしてくれる番号は0から始まるので、1から始めるためにはそれに1を足す必要がある。サンプルソース中の+1をチェックしておこう。

参考リンク §

Enumerable.Select メソッド

 上記のリンクを辿って、2種類あるSelect メソッドの違いを確認しておこう。そして、インデックス値を生成した方が良い場合と必要がない場合が何か考えてみよう。

リポジトリ §

https://github.com/autumn009/cshowto

ForeachCount §

using System;

using System.Linq;

class Program

{

    static void Main()

    {

        string[] names = { "熱海", "斑鳩", "宇野" };

        foreach (var item in names.Select((name, number) => new { name, number }))

        {

            Console.WriteLine($"{item.number + 1} {item.name}");

        }

    }

}

実行結果

1 熱海

2 斑鳩

3 宇野

Facebook

COOL C# CREW

C#ハウツー連載の解説増量、カラーのソース、新規書き下ろし追加の読みやすい単行本はこちら。

C#ハウツー: 逆引き入門・こんな機能はどう書くの?
キーワード【 川俣晶の縁側ソフトウェアC# コーディング How To
【C# コーディング How To】の次のコンテンツ
2020年
10月
24日
【入門級】文字列中のAをBに、BをAに置き換える
3days 0 count
total 753 count
【C# コーディング How To】の前のコンテンツ
2020年
10月
21日
【入門級】4649は何桁? 数値の桁数を調べる2つの方法
3days 0 count
total 985 count

このコンテンツを書いた川俣 晶へメッセージを送る

[メッセージ送信フォームを利用する]

メッセージ送信フォームを利用することで、川俣 晶に対してメッセージを送ることができます。

この機能は、100%確実に川俣 晶へメッセージを伝達するものではなく、また、確実に川俣 晶よりの返事を得られるものではないことにご注意ください。

このコンテンツへトラックバックするためのURL

http://mag.autumn.org/tb.aspx/20201023094932
サイトの表紙【C# コーディング How To】の表紙【C# コーディング How To】のコンテンツ全リスト 【C# コーディング How To】の入手全リスト 【C# コーディング How To】のRSS1.0形式の情報このサイトの全キーワードリスト 印刷用ページ

管理者: 川俣 晶連絡先

Powered by MagSite2 Version 0.36 (Alpha-Test) Copyright (c) 2004-2021 Pie Dey.Co.,Ltd.