VS2005 中的 C#:整数有设置样式表示法吗?
对于 VS2005 中的 C#,您可以执行以下操作:
if number in [1,2..10,12] { ... }
检查 number
是否包含在方括号中定义的集合中?
For C# in VS2005, can you do something like this:
if number in [1,2..10,12] { ... }
which would check if number
is contained in the set defined in the square brackets?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
.NET 2.0(这是 VS 2005 的目标)没有
Set
的概念。.NET 3.5 引入了
HashSet
,.NET 4 引入了SortedSet
。虽然它们没有字面形式 - 尽管集合初始值设定项提供了一些稍微相似的东西:
当然,您可以只使用数组:
但是范围< /em> 示例的一部分 -
2..10
- 在任何版本的 C# 中都不存在。.NET 2.0 (which is what VS 2005 targets) doesn't have the notion of a
Set
..NET 3.5 introduced
HashSet<T>
, and .NET 4 introducedSortedSet<T>
.There isn't a literal form for them though - although collection initializers provide something slightly similar:
Of course, you could just use an array:
but the range part of your sample -
2..10
- doesn't exist in any version of C#.不幸的是没有。
但是,您可以使用
List
的Contains()
方法:如果
numbers
是一个数组,您可以初始化一个新的List
以及数组值:或使用
Array.Exists()
:Unfortunately not.
However, you can use the
Contains()
method of aList<int>
:if
numbers
is an array, you can either initialize a newList<int>
with the array values:or use
Array.Exists()
:您可以使用 做您想做的事情Enumerable.Range 方法:
当然,这并不像您在基本函数式语言中找到的那样可读......
You can "kind of" do what you want using the Enumerable.Range method:
Of course, that's not nearly as readable as what you find in a basic functional language...