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

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

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

     

    【ハルシオンブログ】LinqのMAX,MINを使うとListの中の最大数とか簡単に取れるんすね。 

    こんにちは。坂内っす。

    ポケガ3って今Unity2020.1で開発してるんですが、Android12だと動かないことがあるとのことが判明。

    Unity2020.3くらいにしないといけないぽいですね。
    ちょっと手元にAndroid12の実機がないためどんなエラーがでてるのか分からないですが・・・・


    ちょっとLinqの機能で最近使うものがあったので紹介。

    MAXとMIN おまけにSUMも。


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

    public class Blog20220228 : MonoBehaviour
    {
    public class Item0228 {
    public int itemNo;
    public string itemName;
    public int itemNum;
    }

    List items = new List();

    void Start()
    {
    SetItemData();

    // itemsの中で一番大きいItemNum
    Debug.Log(items.Max(x => x.itemNum));
    // itemsの中で一番小さいItemNum
    Debug.Log(items.Min(x => x.itemNum));
    // ItemNumの合計
    Debug.Log(items.Sum(x => x.itemNum));
    }

    void SetItemData() {
    Item0228 item1 = new Item0228();
    item1.itemNo = 1;
    item1.itemName = "アイテム1";
    item1.itemNum = 10;
    items.Add(item1);
    Item0228 item2 = new Item0228();
    item2.itemNo = 2;
    item2.itemName = "アイテム2";
    item2.itemNum = 14;
    items.Add(item2);
    Item0228 item3 = new Item0228();
    item3.itemNo = 3;
    item3.itemName = "アイテム3";
    item3.itemNum = 21;
    items.Add(item3);
    Item0228 item4 = new Item0228();
    item4.itemNo = 1;
    item4.itemName = "アイテム4";
    item4.itemNum = 4;
    items.Add(item4);
    }

    }



    こんな感じでクラスを作ってListにぶち込みます。

    実際にMAXとかMINしてるのはここ。

    // itemsの中で一番大きいItemNum
    Debug.Log(items.Max(x => x.itemNum));
    // itemsの中で一番小さいItemNum
    Debug.Log(items.Min(x => x.itemNum));
    // ItemNumの合計
    Debug.Log(items.Sum(x => x.itemNum));

    実行結果はこれ。


    21
    UnityEngine.Debug:Log (object)
    Blog20220228:Start () (at Assets/Scripts/Blog20220228.cs:21)

    4
    UnityEngine.Debug:Log (object)
    Blog20220228:Start () (at Assets/Scripts/Blog20220228.cs:23)

    49
    UnityEngine.Debug:Log (object)
    Blog20220228:Start () (at Assets/Scripts/Blog20220228.cs:25)



    ちゃんと各itemのitemNumから最大、最初、合計を持ってきてますね。

    という感じで、Listの中の値を簡単に取得計算できる方法でした。

    あでゅ~ノシ

    Category: 開発日記(Unity)

    tb 0 : cm 0   

    コメント

    コメントの投稿

    Secret

    トラックバック

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