目前,我正在声明并初始化这样的列表:
List<ushort> myList = new List<ushort>() {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
我最终会有更多ushort
个列表,其中包含超过10个值,例如,输入1-100之间的每个数字效率很低。该列表将始终是一系列数字。
有没有更短的方式来写这个?我曾尝试研究Enumerable.Range
,但只处理int
值,我收到“无法隐式转换类型int到ushort”错误。
答案 0 :(得分:5)
明确演员怎么样?
List<ushort> myList = Enumerable.Range(1, 100).Select(i => (ushort)i).ToList();
然后让它真的很短!
var myList = Enumerable.Range(1, 100).Select(i => (ushort)i).ToList();
答案 1 :(得分:3)
您可以尝试使用循环填充列表。
List<ushort> myList = new List<ushort>();
然后在方法中使用它:
ushort count = 100; //or whatever number you need
for (ushort i = 1; i < count + 1; i++)
myList.Add(i);
循环的一个优点是imo,如果你将来有一个类的列表,你可以轻松地在循环中创建不同的类实例并将它们添加到列表中。
答案 2 :(得分:1)
List<ushort> values= Enumerable.Range(1, 100).Select(x => (ushort) x).ToList();