【UE4从零开始 008】字符串简介

UE4中提供了多个不同类,以便于根据需要处理字符串。

1、FName

FName通过一个轻型系统使用字符串。在此系统中,字符串会存储在数据表中,以便能被重复使用。FName不区分大小写且不可变。FName的存储系统和静态特性决定了通过Key进行FName的查找和访问的速度较快。FName子系统的另一个功能是使用HASH表为FName转换提供快速字符串。

FName不区分大小写,作为索引组合存储在唯一字符串和实例编号的数据表中。

创建
	FName TestFName = FName(TEXT("TestFName"));
对比
  • == 运算符,返回true或false。它并不执行字符串的对比,而是对比索引中的数值,极大地节约了CPU的开销。
  • FName::Compare函数,返回的是int32值。若小于OtherFName则返回的值小于0;等于OtherFName则返回0;大于OtherFName则返回的值大于0。
	bool bSame = TestFName == OtherFName;
	int32 compareValue = TestFName.Compare(OtherFName);
搜索表

如需确定FName是否在表中,可以使用下面这种方式。如果不存在的话,FName的索引将被设为 NAME_None,且不会将字符串添加到表中。

	if (FName(TEXT("TestFName"), FNAME_Find) != NAME_None)
	{

		UE_LOG(LogClass, Log, TEXT("TestFName is exist!"));
	}
	else
	{
		UE_LOG(LogClass, Log, TEXT("TestFName is not exist!"));
	}

2、FText

FText代表一个显示字符串,为用户显示的文本都需要由FText处理。FText类拥有本地化的内置支持,可处理已经本地化并存储在查找表中的文本内容,以及在运行时被本地化的文本,如:数字、日期、时间和格式化文本。同时可以用FText处理无需进行本地化的文本&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值