【问题标题】:How do I convert a value from Random to a string?如何将值从 Random 转换为字符串?
【发布时间】:2015-12-03 20:02:58
【问题描述】:

我是 C# 新手,我想使用随机方法从实际数组列表中给我的值。但我似乎无法对其进行转换或使用 console.readline() 。这是我的代码。

static void Main(string[] args)
        {
            string[] mots = new string[] { "pomme", "animal", "pont", "ensemble", "visuel", "acronyme", "cellule", "article", "syllable", "programme" };
            Random mot = new Random(mot.GetHashCode());
            mot = Console.ReadLine();
            Console.WriteLine(mots[mot.Next(9)]);

            string mot = "pomme";
            char[] charArray = mot.ToCharArray();
            Array.IndexOf(charArray);
} 

如何将输出转换为字符串以便之后使用?谢谢。

【问题讨论】:

  • 你为什么要给mot分配一个字符串,它是Random类的对象?!?你到底想用那个ReadLine 做什么?
  • Random != string。首先,你应该知道
  • 您在很多地方都使用了mot (english = word) 变量,除了不编译之外,这也是令人困惑的事情。你能列出你希望用户输入什么样的值(如果有的话)以及程序应该如何处理这些输入?如果您以这种方式处理它,您和我们就更容易发现哪里出了问题。
  • 嗨!抱歉有这么多错误,我正在尝试做一个程序,它会从数组中随机选择一个单词(对我来说是字符串)。然后用户将不得不尝试通过输入一些字母来客串该词。这就是为什么我需要解决这个问题。

标签: c# arrays string random


【解决方案1】:

mots 数组中获取随机元素并将其输出到控制台:

var mots = new [] { "pomme", "animal", "pont", "ensemble", "visuel", "acronyme", "cellule", "article", "syllable", "programme" }; 
var rand = new Random();
var index = rand.Next(0, mots.Length); // returns a random int between 0 and mots.Length - 1 (see below)
var mot = mots[index];
var motString = mot.ToString(); // get the string value
Console.WriteLine("Random element: {0}. String value: {1}.", mot, motString);

来自Microsoft Random.Next documentation

Next(Int32, Int32) 重载返回范围从 minValue 到 maxValue – 1 的随机整数。但是,如果 maxValue 等于 minValue,则该方法返回 minValue。

【讨论】:

  • 谢谢你,这对我帮助很大!
【解决方案2】:

用索引试试。创建一个数组长度最大值为 1 的随机值。然后返回该随机索引处的字符串。

string[] mots = new string[] { "pomme", "animal", "pont", "ensemble", "visuel", "acronyme", "cellule", "article", "syllable", "programme" }; 
Random Rnd = new Random();

string RandomString()
{
  return mots[Rnd.Next(0, mots.Length - 1)];
}

希望这会有所帮助。欢迎随时提问。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-05
    • 1970-01-01
    • 2019-06-26
    • 2017-05-26
    • 1970-01-01
    • 2016-02-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多