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

【入門級】整数配列[1,2,3]からループなしで文字列"1+2+3=6"を生成する

Written By: 川俣 晶連絡先

 整数配列[1,2,3]からループなしで"1+2+3=6"を生成することはできるでしょうか?

 もちろん、配列の数値が違っていても、内容の数が違っていても処理可能でなければなりません。

 これは2つに分割して考えると可能です。

 まず、"1+2+3"の部分はstring.Joinメソッドで可能です。

 次に合計値はLINQのSumメソッドを使えば一発で出ます。

罠の数々 §

  • string.Joinメソッドは通常カンマなどの区切り文字を挿入するために使うが、"+"でも挿入できる

参考リンク §

String.Join メソッド

Enumerable.Sum メソッド

 どうしてStringクラスのJoinメソッドに文字列ではなく整数の配列を渡して動作しているのだろうか。その理由を上のリンクを辿って調べてみよう。ヒントは【Joinメソッドに整数の配列を受け取りバリエーションはないが、しかし……】である。

リポジトリ §

https://github.com/autumn009/cshowto

Loopless §

using System;

using System.Linq;

class Program

{

    private static void sub(int[] array)

    {

        string result = $"{string.Join('+', array)}={array.Sum()}";

        Console.WriteLine(result);

    }

    static void Main()

    {

        int[] array1 = { 1, 2, 3 };

        sub(array1);

        int[] array2 = { 5, 8, 2, 11 };

        sub(array2);

    }

}

実行結果

1+2+3=6

5+8+2+11=26

Facebook

COOL C# CREW

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

C#ハウツー: 逆引き入門・こんな機能はどう書くの?
キーワード【 川俣晶の縁側ソフトウェアC# コーディング How To
【C# コーディング How To】の次のコンテンツ
2020年
11月
04日
【入門級】値を参照できるが代入できない名前を定義する3つの方法
3days 0 count
total 1002 count
【C# コーディング How To】の前のコンテンツ
2020年
11月
02日
【入門級】任意の拡張子のファイル名を拡張子"bak"に書き換えたい
3days 0 count
total 945 count

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

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

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

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

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

http://mag.autumn.org/tb.aspx/20201103093744
サイトの表紙【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.