C# 相当于 C++ 是什么? STL填充方法
在 C++ 中,我们可以使用 fill 设置数组(和其他类似容器)的值范围。
例如,
fill(number, number+n,10);
上面的代码会将数组编号的前 n 个值设置为值 10。
与此最接近的 C# 等效项是什么。
In C++, we can set a range of values of an array(and other similar containers) using fill.
For example,
fill(number, number+n,10);
The above code will set the first n values of the array number with the value 10.
What is the closest C# equivalent to this.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
没有等效的方法,但有很多方法可以编写类似的代码
Linq-to-Objects 类中的方法可以创建可用于初始化列表的序列,但这与 C++ 中实际发生的情况有很大不同。
由于 C++ 模板的工作方式,C++ 可以更普遍地完成这些事情,虽然 C# 中的简单类型约束有所帮助,但它们不提供相同的灵活性。
There's no equivalent method but there are many ways to write similar code
Methods from the Linq-to-Objects classes can create sequences that you can use to initialize lists but this is very different from how things in C++ actually occur.
C++ can accomplish these things more generally thanks to how C++ templates work, and while simple type constraints in C# help, they do not offer the same flexibility.
我不确定是否存在,但您可以轻松编写自己的代码:
显然缺少参数检查,但您明白了。
I'm not sure one exists, but you can code your own easily:
Obviously missing parameter checking, but you get the drill.
没有直接的等效方法,但您可以分两步完成。首先使用
Enumerable.Repeat
创建一个每个元素具有相同值的数组。然后将其复制到目标数组上:对于其他目标容器,缺少 Array.Copy 的等效项,但很容易将它们添加为目标,例如:
There is no direct equivalent, but you can do it in two steps. First use
Enumerable.Repeat
to create an array with the same value in each element. Then copy that over the destination array:For other destination containers there is a lack of an equivalent to
Array.Copy
, but it is easy to add these as destinations, eg: