【问题标题】:Can I use array.join to take all the integers in my array and combine them into one int?我可以使用 array.join 获取数组中的所有整数并将它们组合成一个 int 吗?
【发布时间】:2015-01-02 05:04:07
【问题描述】:

我有一个包含五个代表彩票球的随机数的数组。假设数字是 [8, 4, 2, 0, 3]。我可以使用 array.join 方法从我的数组中取出所有这些数字并将它们放入 intwinningNumber 中,因此中奖号码是 84,203。我正在尝试这样做,以便在每个人都获得随机彩票号码时更容易测试中奖号码。编辑:感谢您的评论:任何数字都不能高于 9 或低于 0,并且第一个数字必须至少为 1

【问题讨论】:

  • 如果一个数字有两位数怎么办?
  • C#中没有Array.Join
  • 对不起,任何元素的最大数是9,它不能低于0是
  • int.Parse(String.Concat(arr))
  • @L.B 他似乎想要一个int 变量。

标签: c# arrays search join


【解决方案1】:

相信你正在寻找String.Joinlike:

int[] array = new int[] { 8, 4, 2, 0, 3 };
string str = string.Join("", array);

如果您需要一个号码而不是使用int.Parseint.TryParse,例如:

int number = int.Parse(str);

您也可以使用String.Concat,它接受IEnumerable<T> 作为参数。

string str = string.Concat(array);

String.JoinString.Concat 都有效,因为:

IEnumerable<T> 中每个对象的字符串表示形式 集合是通过调用该对象的 ToString 方法派生的。

【讨论】:

    【解决方案2】:

    如果您想将您的获胜序列与许多其他图纸进行比较,您可以使用 IEnumerable.SequenceEquals 来代替它。

    无论如何,您已经使问题变得比它需要的更复杂,并且可能会尝试手动制作算法,使用常规数组。重新发明轮子不是你应该经常做的事情,但有时它可以具有教育意义。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-24
      • 2020-02-01
      • 2012-12-20
      • 1970-01-01
      • 2020-07-19
      • 2013-03-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多