【ハルシオンブログ】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]
[結果]

ForEachの行は1行だけですよね。
これで、ViewNumメソッドをarrayの全部に対して行うことができます。
引数はデリゲートなんですけどね。
とやるのと動きは一緒ですね。
使いやすいほうでいいとは思いますが、こんな書き方もありますよーという紹介でした。
では!あでゅ~ノシ
ついに非常事態宣言が発令されそうですね。
明日からとかなんとか。
「外出自粛を要請する期間は「最短でも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)
« 【ハルシオンブログ】配列やリストの要素の順番を逆にしたいとき・・・ | 【ハルシオンブログ】VisualStudio上で長いコードのエラー箇所に飛びたいとき »
コメント
| h o m e |