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

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.dtcms.com/a/327695.html

相关文章:

  • Redis--day4--实战-黑马点评--搭建环境
  • WPS JS宏 通用方法整理汇总 实时更新
  • 【Vue 3 响应式系统深度解析:reactive vs ref 全面对比】
  • MySQL(下)
  • C语言入门完结篇_结构体、枚举、时间函数的、变量类型(C语言划分内存各个区块的方法)、文件操作
  • MyBatis 缓存与 Spring 事务相关笔记
  • Spring-Cache 缓存数据
  • damn the jvm again(2)
  • 编程模型设计空间的决策思路
  • 什么是跨域访问问题,如何解决?
  • Windows怎样配置动态磁盘
  • [SC]SystemC中的SC_FORK和SC_JOIN用法详细介绍
  • android端自定义通话通知
  • VUE的8个生命周期
  • Orange的运维学习日记--41.Ansible基础入门
  • sqli-labs通关笔记-第44关 POST字符型堆叠注入(单引号闭合 手工注入+脚本注入3种方法)
  • demo 英雄热度榜 (条件筛选—高亮切换—列表渲染—日期显示)
  • Full GC 频率优化实战
  • RGWRados::get_obj_state_impl()
  • 25C机场航班调度程序(JS 100)
  • 【智能硬件】2025年儿童智能手表革命:守护隐私的科技堡垒
  • AQS的理解
  • B树索引和B+树索引有什么区别?
  • 编译 BusyBox for ARM 平台
  • 数据结构:图
  • 1、正则表达式入门
  • (LeetCode 每日一题) 2787. 将一个数字表示成幂的和的方案数(动态规划dp+01背包)
  • Python 常用的正则表达式
  • CodeRush AI 助手进驻 Visual Studio:AiGen/AiFind 亮相(五)
  • RL推理的尽头,是熵坍缩?统一SFT与强化学习的新视角