在C++中,可以将向量初始化为vector<int> nums1 (100, 4); // 100 integers with value 4另外,还有一些类似的东西vector<int> nums2 (nums1.begin() + 5, nums1.end() - 20);在C#中是否有类似的列表?
vector<int> nums1 (100, 4); // 100 integers with value 4
vector<int> nums2 (nums1.begin() + 5, nums1.end() - 20);
qc6wkl3g1#
您可以通过List这样做。
using System.Collections.Generic; List<int> nums1 = new List<int>(Enumerable.Repeat(4,100)); //100 elements each with value 4 List<int> nums2 = new List<int>(nums1.Skip(5).Take(75)); // skip first 5 and take 75 elements
0lvr5msh2#
第一个是这样的:
var result = Enumerable.Repeat(4, 100);
第二个(我对C++不熟悉)是这样的(我想它的意思是从第五个元素到从末尾算起的第二十个元素):
var result2 = result.Skip(5).Take(75);
请注意,result和result2都只是迭代器,因此是延迟求值的,调用ToList或ToArray实际上将通过执行查询来具体化集合。
result
result2
ToList
ToArray
2条答案
按热度按时间qc6wkl3g1#
您可以通过List这样做。
0lvr5msh2#
第一个是这样的:
第二个(我对C++不熟悉)是这样的(我想它的意思是从第五个元素到从末尾算起的第二十个元素):
请注意,
result
和result2
都只是迭代器,因此是延迟求值的,调用ToList
或ToArray
实际上将通过执行查询来具体化集合。