FC2ブログ
03 «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.» 05

ハルシオンシステムの気まま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