声明和初始化List <ushort> </ushort>的更短方式

时间:2014-02-11 17:37:14

标签: c# list ushort

目前,我正在声明并初始化这样的列表:

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”错误。

3 个答案:

答案 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();