我想从字符串列表中随机生成一个元素,但是我不知道如何实现这一点。我有4个元素:aaa,bbb,ccc,ddd。我想生成其中一个随机绘制在屏幕上,我搜索一些C#的代码,但它不起作用。有谁知道怎么做?
答案 0 :(得分:5)
查看此链接以在XNA中绘制文本:
http://www.riemers.net/eng/Tutorials/XNA/Csharp/Series2D/Writing_text.php
拥有该部分后,您只需创建一个列表并选择要传递给spriteBatch.DrawString()
的随机元素。这是一个快速未经测试的版本。你应该修改它以适合你的代码。
Random r = new Random();
string rand = list[r.Next(list.Count)];
spriteBatch.DrawString(spriteFont, rand, new Vector2(20, 45), Colors.Black);
答案 1 :(得分:4)
当然,很容易:
List<string> list = new List<string>() { "aaa", "bbb", "ccc", "ddd" };
int l = list.Count;
Random r = new Random();
int num = r.Next(l);
var randomStringFromList = list[num];
另外,下次您应该包含与(可能)原因无关的代码。
答案 2 :(得分:4)
我不确定这是否是您需要的,但为什么不创建一个随机整数然后使用string [int]来访问您的字符串数组。
namespace ConsoleApplication1
{
using System;
using System.Text;
class Program
{
static void Main(string[] args)
{
Random random = new Random();
string[] myStrings = new string[] { "aaa", "bbb", "ccc", "ddd" };
for (int n = 0; n < 10; n++)
{
int rnd = random.Next(0, myStrings.Length);
string s = myStrings[rnd];
Console.WriteLine("-> {0}", s);
}
Console.ReadLine();
}
}
}