How to print the contents of an array to a label in c#
我想从一个标签中显示数组的内容,每个数字之间有一个逗号。num1-num6是从文本框转换的整数变量。到目前为止,我已经做到了。
1 2 3 4 5
| int[] number = new int [6] {num1, num2, num3, num4, num5, num6 };
Array .Sort(number );
lblAnswer3 .Text = number .ToString(); |
此代码的输出为:System.Int32[]
我希望输出是:num1,num2,num3,num4,num5,num6,按升序排列。
可以使用字符串轻松地实现IEnumerable和数组。联接:
1
| lblAnswer3.Text = string.Join(",", number); |
- +1我没有认识到字符串。join可以处理IEnumerable
- @在.NET 4中引入了重载的Bradleydotnet
- 在.net2中,您需要类似于string.Join(","; Array.ConvertAll(number, delegate(int i) { return i.ToString(); }));的东西。
您可以使用LINQ:
1
| lblAnswer3.Text = number.OrderBy(x => x).Select(x => x.ToString()).Aggregate((a, b) => a +"," + b); |
- - 1。所有这些都是不必要的。
- @约翰森伯斯有点严厉地否决了一个有效的解决方案,不是吗?我们不应该只对我们最喜欢的解决方案投赞成票,而对那些要么不起作用,要么不回答问题的解决方案投反对票吗?
- @鲁弗塞尔,我不确定我会投反对票,但这个解决方案过于复杂,我可以理解它被认为是"无用的"。但是,可能需要使用EDOCX1[1]来按升序排序(如果尚未排序)。
- @Rufusl:评分的目的是让未来的读者更容易选择分数更高的答案。我想确保未来的读者不太可能选择这个。如果OP关心重复点,那么OP可以删除答案并取回这两个点。
- @约翰大妈够公平的。
- "给答案打分的目的是让未来的读者更容易选择得分更高的答案",用一种谦逊的语气说明显的答案只会让你看起来像个混蛋。答案没有错。你可以说它没有那么有效,但它是另一种选择
- @BB01234:我没说不行。我的意思是,如果我正在进行代码审查并看到了代码,我会要求您更改它。如果我是你的主管,在代码审查中看到了这个代码,我会告诉你修改它。顺便说一句,这并不明显。很多人不明白我们为什么会在这里投赞成票和反对票,或者对他们的看法是错误的。
- 这是显而易见的,在旅游和网站帮助中都有解释。答案的质量很重要,但当一个新手问一些问题时,提供其他的答案是有益的。例如:如果他有一个双精度数组,想要字符串,那该怎么办?格式化它们?简单的string.join不够。