0

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

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

4

3 回答 3

6

显式演员表怎么样?

List<ushort> myList = Enumerable.Range(1, 100).Select(i => (ushort)i).ToList();

然后让它真的很短!

var myList = Enumerable.Range(1, 100).Select(i => (ushort)i).ToList();
于 2014-02-11T17:39:05.143 回答
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 循环的一个优点是,如果您将来有一些东西的列表,例如类,您可以轻松地在循环中创建类的不同实例并将它们添加到列表中。

于 2014-02-11T17:39:58.853 回答
1
List<ushort> values= Enumerable.Range(1, 100).Select(x => (ushort) x).ToList();
于 2014-02-11T17:44:22.103 回答