FC2ブログ
    07 «1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.» 09

    ハルシオンシステムの気ままBlog

    株式会社ハルシオンシステムのメンバーが送る、UnityやらJavaやらの技術的話題から、自社開発のアプリの宣伝とかとかのブログです。ほんと気ままにいきたいと思います。更新日は毎週 月 木でっす!

     

    【ハルシオンブログ】C#でforeachじゃなくてForEachってあるんですね。意外と便利なので紹介してみた。 

    おはようございます。坂内です。

    ついに非常事態宣言が発令されそうですね。
    明日からとかなんとか。
    「外出自粛を要請する期間は「最短でも3週間」だと言うことです。」ということで、最低でも1か月くらいは外出は自粛してくださいって流れになりそうですね。
    ただ、それだけで済むのかというとまだまだ、自粛は続きそうですよね。
    新型に対応できる薬が安定供給されるまでは、普通の生活は難しそうですね。


    さてUnityのネタに入ります。

    C#のForEachって使ってますか?
    foreachとは違います。

    https://docs.microsoft.com/ja-jp/dotnet/api/system.collections.generic.list-1.foreach?redirectedfrom=MSDN&view=netframework-4.8#System_Collections_Generic_List_1_ForEach_System_Action__0__

    なんか1行で”指定の配列に対してまとめて処理を行う”ことができるようです。

    [Blog20200406.cs]

    using System;
    using System.Collections.Generic;
    using UnityEngine;

    public class Blog20200406 : MonoBehaviour
    {
    void Start()
    {
    List<int> array = new List<int>();
    array.Add(1);
    array.Add(2);
    array.Add(4);
    array.Add(10);
    array.Add(100);
    array.Add(200);
    array.Add(0);

    Action<int> action = new Action<int>(ViewNum);

    array.ForEach(action);
    }

    private void ViewNum(int i) {
    Debug.Log(i);
    }
    }



    [結果]


    ForEachの行は1行だけですよね。
    これで、ViewNumメソッドをarrayの全部に対して行うことができます。
    引数はデリゲートなんですけどね。


    foreach(int num in array){
    ViewNum(num);
    }

    とやるのと動きは一緒ですね。

    使いやすいほうでいいとは思いますが、こんな書き方もありますよーという紹介でした。

    では!あでゅ~ノシ

    Category: 開発日記(Unity)

    tb 0 : cm 0   

    コメント

    コメントの投稿

    Secret

    トラックバック

    トラックバックURL
    →http://halcyonsystemblog.jp/tb.php/690-624504c9
    この記事にトラックバックする(FC2ブログユーザー)