【Unity】常量数据类中字符串string的便捷赋值

开发中,我们经常会设置固定的字符串用于事件系统和调用。

public staic class Const
{
	public static readonly string playGame = "playGame";
	
	public static readonly string pauseGame = "pauseGame";
}

如上面的代码,字符串的内容本身和字符串的命名一样,但却需要重复写一遍。

通过在构造函数中使用Field.SetValue,可以实现自动赋值。

static Const()
{
	//获取Const类中,静态&&公有&&仅在本类中声明的变量
	foreach(int filed out typeof(Const).GetFields(BindingFlags.Static | BindingFlags.Public | BindingFlags.DeclareOnly).Where(o => !o.IsLiteral))
	{
		field.SetValue(typeof(Const), field.Name);
	}
}
### 如何在 Unity 中给变量赋值中文字符或字符串C#Unity 中处理中文字符或字符串与其他类型的字符串相同。可以使用 `string` 关键字来声明并初始化包含中文字符的字符串变量[^1]。 #### 使用简单字符串赋值 可以直接将中文字符作为字符串常量赋值字符串变量: ```csharp using UnityEngine; public class ChineseStringExample : MonoBehaviour { void Start() { string chineseString = "你好,世界"; Debug.Log(chineseString); } } ``` 这段代码展示了如何定义一个名为 `chineseString` 的字符串变量,并将其设置为包含中文字符的内容。当脚本运行时,会打印出 `"你好,世界"` 到控制台日志中。 #### 动态构建带有中文字符的字符串 如果需要动态组合多个部分形成最终的字符串,则可采用多种方式完成此操作。一种常见的方式是通过加号 (`+`) 运算符连接不同的片段;另一种更为高效的方法则是借助于 `StringBuilder` 类来进行拼接工作。 以下是两种方法的例子: ##### 方法一:使用运算符 + ```csharp void ExampleMethodOne() { string greetingPart1 = "欢迎来到"; string locationName = "中国"; string fullGreeting = greetingPart1 + locationName; Debug.Log(fullGreeting); // 输出:"欢迎来到中国" } ``` ##### 方法二:使用 StringBuilder ```csharp System.Text.StringBuilder sb = new System.Text.StringBuilder(); sb.Append("很高兴"); sb.Append("见到您"); string happyToSeeYou = sb.ToString(); Debug.Log(happyToSeeYou); // 输出:"很高兴见到您" ``` 由于字符串具有不变性的特点,在每次修改字符串内容时都会创建一个新的实例[^3]。因此对于频繁更改的情况建议优先选用 `StringBuilder` 来优化性能表现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

真鬼123

祝你节节高升岁岁平安越来越漂亮

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值