【问题标题】:Generate a random sequence of chars and concatenate with itself into a list.生成一个随机的字符序列并将其自身连接到一个列表中。
【发布时间】:2014-04-04 18:17:01
【问题描述】:

我有以下方法来产生n个随机字符

private void button1_Click(object sender, EventArgs e)
        {

            var chars = "abcdefghijklmnopqrstuvwxyz0123456789";
            var random = new Random();
            String lista = new string(chars.Select(c => chars[random.Next(chars.Length)]).Take(int.Parse(textNo.Text)).ToArray());

            var result = String.Join(",", lista.ToCharArray(0, lista.Length));
                var concatenare = result.Concat(result);

            textLast.Text = concatenare;

        }

我想在 var concatenare 中生成一个与其自身连接的字符列表。

例如,如果我的程序将生成 4 个随机字符“a, d, e, f”,则连​​接将包含“a,a,d,d,e,e,f,f”

此致,

【问题讨论】:

  • 是否允许重复?比如nmvaudfja..,它有两个a
  • 从您的描述来看,您似乎在问如何创建一个由一些随机选择的字符组成的字符串。你有你的字符串列表。这不是你想要做的吗?
  • 换句话说,我不知道你的 var result 和 var contatenare 在你的解决方案中添加了什么,因为目标似乎是创建类似 list 的东西
  • 有两个步骤。生成一个随机序列,然后将每个 char 出现加倍。这是正确的吗?

标签: c# string random


【解决方案1】:
var concatenare = string.Join(",", lista.SelectMany(c => new []{c, c}));

【讨论】:

    【解决方案2】:
             string concat="";
           var chars="abcdefghijklmnopqrstuvwuvxyz0123456789";
              var rand=new Random();
              for (int i = 0; i < 3; i++)
              {
                  char ch = chars[rand.Next(0, chars.Length)];
                concat += "," + ch + "," + ch;
              }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-10-01
      • 2016-01-28
      • 1970-01-01
      • 2014-06-25
      • 1970-01-01
      • 2016-09-27
      • 1970-01-01
      相关资源
      最近更新 更多