C# 多个字符串之间的文本显示
当玩家猜不到正确的值时,我有这个文本显示C# 多个字符串之间的文本显示,c#,text,display,C#,Text,Display,当玩家猜不到正确的值时,我有这个文本显示 if (guess < Joules) { Joulestext.text = "Oops...entered less than minimum amount of Joules ."; } if(猜测
if (guess < Joules)
{
Joulestext.text = "Oops...entered less than minimum amount of Joules .";
}
if(猜测<焦耳)
{
jouleText.text=“哎呀……输入的焦耳数小于最小焦耳数。”;
}
但是我想在同一个文本字段中随机显示多个文本,比如这个弹出窗口或者另一个说“尝试使用…”。我该怎么做呢?一个可能的解决方案是:创建一个消息数组,必要时随机选择一个
string[] messages = new string[] {"msg1", "msg2", .... "msgn"};
Random rnd = new Random();
if (guess < Joules)
{
var index = rnd.Next(0, messages.Length);
var msg = messages[index];
Joulestext.text = msg;
}
string[]messages=新字符串[]{“msg1”、“msg2”、“msgn”};
随机rnd=新随机();
if(猜测<焦耳)
{
var index=rnd.Next(0,messages.Length);
var msg=消息[索引];
jouleText.text=msg;
}
使用Linq的简单解决方案:
var messages = new List<string>
{
"message 1",
"message 2",
"message 3",
"message 4",
"message 5"
//...
};
if (guess < Joules)
{
Joulestext.text = messages
.OrderBy(m => Guid.NewGuid())
.First();
}
var messages=新列表
{
“信息1”,
“信息2”,
“信息3”,
“信息4”,
“信息5”
//...
};
if(猜测<焦耳)
{
jouleText.text=消息
.OrderBy(m=>Guid.NewGuid())
.First();
}
要使消息随机化,只需按新的guid对它们进行排序。创建一个消息数组,然后使用
Random
类,您可以选择一个并在if(猜测<焦耳)