如何使用“for”创建动态递增变量C# 中的循环
如何在 C# 中使用“for”循环创建动态递增变量?像这样: track_1、track_2、track_3、track_4。
依此类推。
How to create dynamic incrementing variable using "for" loop in C#? like this:track_1, track_2, track_3, track_4.
so on.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
您无法创建动态命名的变量。您所能做的就是创建一些集合或数组,并对其进行操作。
我认为最适合您的课程是通用 List:
You can't create dynamically-named variables. All you can do - it to create some collection or array, and operate with it.
I think the best class for you is generic List<>:
假设您想要字符串:
但是当您已经有名为
track_1、track_2、track_3、track_4
的变量时,您将需要一个数组或列表:Assuming you want strings:
But when you already have variables called
track_1, track_2, track_3, track_4
you will need an array or List:显而易见的解决方案
基于 Linq 的解决方案
基于运算符的解决方案 这有点 hacky,但仍然很有趣。 >
Obvious Solution
Linq-Based Solution
Operator-Based Solution This is somewhat hacky, but fun none-the-less.
不知道我是否明白你的问题,但我会尝试:
或者使用一些 LINQ-Magic:
don't know if I get your question, but I will try:
or with some LINQ-Magic:
执行如下操作:
Do as follow:
不,我们不能在循环中创建动态命名的变量。但是,还有其他优雅的方法来解决该问题,而不是创建动态命名变量。
一种可能是,在循环之前创建一个数组或列表,并将值存储在循环中的数组/列表项中。您可以稍后在代码中的任何位置访问数组/列表。如果您知道要使用哪个变量(track_1,track_2,...),您可以简单地从数组/列表(tracks[1],tracks[2],...)访问它。
No, we can't create dynamically named variables in a loop. But, there are other elegant ways to address the problem instead of creating dynamically named variables.
One could be, create an array or list before the loop and store values in array / list items in the loop. You can access the array / list later anywhere in your code. If you know which variable you want to use (track_1, track_2, ...), you can simply access it from the array / list (tracks[1], tracks[2], ...).
使用三元运算符会有所帮助。
Using ternary operator can help.