当前位置: 首页 > ai >正文

UE官方文档学习 C++ TAarry 查询(三)Contain,Find函数的使用

一.Contain

Contain只是判断是否有这个元素.

但ContainsByPredicate ,通过重新定义谓词 == 。不仅能判断,是否有符合这个元素的长度元素(谓词)。还能断言打日志。这里就使用Lamda函数值传递,一直对每个下标累加,标记。从头开始找,直到找到满足条件的就返回,为true。找不到就为false

void AWXArrayActor::WXContainArray()
{TArray<FString> StrArr = { "1234756","33","Hello", "World", "of", "Tomorrow","!" };bool bHello = StrArr.Contains("Hello");bool bFuck = StrArr.Contains("Fuck");int32 bFind5Character = 0;//bool bLen5 = StrArr.ContainsByPredicate([&bFind5Character](const FString& Str) {++bFind5Character;UE_LOG(LogTemp,Warning,TEXT("bLen5,[%d]"), bFind5Character);return Str.Len() == 5;});int32 bFind6Character = 0;bool bLen6 = StrArr.ContainsByPredicate([&bFind6Character](const FString& Str) {++bFind6Character;UE_LOG(LogTemp,Warning,TEXT("bLen6,[%d]"),bFind6Character);return Str.Len() == 6;});// bLen5 == true// bLen6 == false}

二、Find来找

可以从前面找或者后面找,返回下标。找到第一个,最好默认为-1。

void AWXArrayActor::XGFindElementArray()
{TArray<FString> StrArr = { "Hello", "World", "of", "Tomorrow","Hello","!" };int32 Index = -1;if (StrArr.Find(TEXT("Hello"), Index)){}bool bIndex = StrArr.Find(TEXT("Hello"), Index);int32 LastIndex = -1;if (StrArr.FindLast(TEXT("Hello"), LastIndex)){}bool bIndexFromLast = StrArr.FindLast(TEXT("Hello"), LastIndex);int32 ErrorIndex = -1;bool bErrorIndex = StrArr.FindLast(TEXT("Fuck"), ErrorIndex);int32 Index2 = StrArr.Find(TEXT("Hello"));int32 IndexLast2 = StrArr.FindLast(TEXT("Hello"));int32 IndexNone = StrArr.Find(TEXT("None"));bool bIndexNone = INDEX_NONE == IndexNone;
}

http://www.xdnf.cn/news/17626.html

相关文章:

  • Java面试题储备11: mysql优化全面讲一下,及你遇到的对应业务场景
  • 第六十三章:AI模型的“跨界之旅”:不同硬件架构下的兼容性方案
  • RK3568 Linux驱动学习——Linux LED驱动开发
  • 数据分析与可视化
  • Java的异常机制
  • Supabase快速入门与实战指南
  • Effective C++ 条款37:绝不重新定义继承而来的缺省参数值
  • 存储过程作为系统逻辑核心的架构思考 —— 以 SaaS 系统为例
  • 计算机视觉(8)-纯视觉方案实现端到端轨迹规划(模型训练+代码)
  • 数据库规范化:消除冗余与异常的核心法则
  • 经济基础知识第一节:物质资料生产和基本经济规律(一)
  • SQL 与 NoSQL 的核心区别
  • 为什么灰度图用G(绿色)通道?
  • Docker 101:面向初学者的综合教程
  • 【报错处理】mount: /boot/efi: unknown filesystem type ‘LVM2_member‘.
  • 记录一次react渲染优化
  • 实现文字在块元素中水平/垂直居中详解
  • 教程 | 用Parasoft SOAtest实现高效CI回归测试
  • AWS EKS 常用命令大全:从基础管理到高级运维
  • [激光原理与应用-257]:理论 - 几何光学 - 光束整形
  • Springboot注册过滤器的三种方式(Order 排序)
  • Spring Cloud系列—Config配置中心
  • 【Oracle APEX开发小技巧16】交互式网格操作内容根据是否启用进行隐藏/展示
  • VS4210芯片技术资料(IT6604+VS4210+MDIN380连接原理图)
  • 基于STC8单片机的RTC时钟实现:从原理到实践
  • 如何使股指期货套期保值效果更加精准?
  • Ansible部署应用
  • AR巡检:三大核心技术保障数据准确性
  • 聚合搜索中的设计模式
  • 【Unity】Unity中ContentSizeFitter有时无法及时自适应大小问题解决