【问题标题】:How to generate a list of number in C#如何在 C# 中生成数字列表
【发布时间】:2015-12-09 15:01:09
【问题描述】:

如何创建从 1 到 10 的 num 列表 示例:

int[] values = Enumerable.Range(1,max).ToArray();
MessageBox.Show(values+",");

输出应该是: 1,2,3,4,5,6,7,8,9,10 请帮忙

【问题讨论】:

    标签: c# .net-3.0


    【解决方案1】:
    List<int> values = Enumerable.Range(1, 10).ToList();
    MessageBox.Show(string.Join(",", values.Select(x => x.ToString())));
    

    【讨论】:

      【解决方案2】:

      使用Join&lt;T&gt;() 方法的通用版本尝试如下。

              int[] arr = Enumerable.Range(1, 10).ToArray();
              MessageBox.Show(string.Join<int>(",", arr));
      

      生成1,2,3,4,5,6,7,8,9,10

      (或)使用旧的 foreach 循环

              string str = string.Empty;
              foreach (int i in arr)
              {
                  str += i.ToString() + ",";
              }
              MessageBox.Show(str.TrimEnd(','));
      

      【讨论】:

      • 错误 1 ​​非泛型方法 'string.Join(string, string[])' cannot be used with type arguments 仍然报错
      • 你这边有问题。您使用的是哪个框架版本?这对我来说很好。
      • 我正在使用 microsoft visual C# 2008 :3
      • @ZeroX,不确定,但您可能正在使用框架版本 3 或更低版本。
      • @ZeroX,使用正常循环方法查看答案。
      【解决方案3】:

      您的代码正在生成从 1 到 10 的整数数组

      int[] values = Enumerable.Range(1,10).ToArray();
      

      但你以错误的方式显示它们(你试图将 int 数组转换为字符串),将其更改为

      MessageBox.Show(string.Join(",", values);
      

      string.Join 将加入您的值,用, 分隔它们

      在 .Net

      MessageBox.Show(string.Join(",", values.Select(x=>x.ToString()).ToArray());
      

      【讨论】:

      • 返回错误 错误 2 参数 '2': cannot convert from 'int[]' to 'string[]' please help I'm new C#
      • @ZeroX 抱歉,已更改答案,我忘记将 int 转换为字符串
      • 仍然返回错误 错误 2 参数 '2':无法从 'System.Collections.Generic.IEnumerable' 转换为 'string[]'
      • @GrantWinney 是的,但为什么不呢?我检查并 string.Join 接受 IEnumerable
      • @ZeroX 你应该使用 .Net 至少 4.0
      猜你喜欢
      • 2011-09-22
      • 1970-01-01
      • 1970-01-01
      • 2017-01-17
      • 2018-07-23
      • 2017-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多