Unity List判断是否存在符合条件的元素对象

C# 中list判断是否有符合条件的对象,可以不用for循环或者foreach,使用自带Api  List.Exists

 

using System;
using System.IO;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Networking;
using UnityEngine.UI;

public enum typea
{
    p1,
    p2,
    p3,
    p4
}

public class testModel
{
    public int age;
    public string name;
}

public class DemoTest : MonoBehaviour
{
    List<int> listNum = new List<int>{1,2,3,4};
    List<typea> listEnum = new List<typea>(){typea.p1, typea.p2, typea.p3};
    List<testModel> tms = new List<testModel>();
    // Start is called before the first frame update
    void Start()
    {
        //基础类型
        var bContain = listNum.Exists(t => t == 2);
        Debug.LogError($"基础类型:{bContain}");

        //枚举类型
        var bContain1 = listEnum.Exists(t => t == typea.p4);
        Debug.LogError($"枚举类型:{bContain1}");

        //引用类型
        testModel tm = new testModel();
        tm.age = 25;
        tm.name = "xiaoming";
        tms.Add(tm);
        var bContain2 = tms.Exists(t => t.name == "xiaoming");
        Debug.LogError($"引用类型:{bContain2}");
    }

    // Update is called once per frame
    void Update()
    {
        
    }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Unity中,可以使用不同的方法来判断对象是否存在。其中一种方法是通过比较对象的名称或标签来进行判断。 如果你知道对象的名称,你可以使用以下代码来判断对象是否存在: ```csharp if (GameObject.Find("MyGameObjectName") != null) { // 对象存在的处理逻辑 } ``` 这个方法会在场景中查找具有指定名称的对象,如果找到了对象,则返回对象的引用,否则返回null。 另一种方法是通过比较对象的标签来判断对象是否存在。你可以使用以下代码来实现: ```csharp if (GameObject.FindGameObjectsWithTag("MyGameObjectTag").Length > 0) { // 对象存在的处理逻辑 } ``` 这个方法会在场景中查找具有指定标签的对象,如果找到了至少一个对象,则返回对象数组的长度大于0,否则返回false。 除了使用名称和标签来判断对象是否存在,还可以使用碰撞检测来判断对象是否存在。你可以使用以下代码来实现: ```csharp void OnCollisionEnter(Collision collision) { if (collision.gameObject.name == "MyGameObjectName") { // 对象存在的处理逻辑 } } ``` 这个方法会在发生碰撞时被调用,你可以通过比较碰撞对象的名称来判断对象是否存在。 综上所述,你可以根据需要选择适合的方法来判断对象是否存在。 #### 引用[.reference_title] - *1* *2* *3* [(layer和tag;Collision和Collider)判断物体存在归纳 unity笔记44](https://blog.csdn.net/gungungun_/article/details/120852518)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值