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(猜测<焦耳)