转换操作

转换操作会更改输入对象的类型。

AsEnumerable

返回输入为 IEnumerable 的输入。

方法语法

// AsEnumerable

int[] numbers = { 1, 2, 3, 4, 5 };

var nums = numbers.AsEnumerable();

// nums: static type is IEnumerable<int>

查询语法

// Not applicable.

AsQueryable 已

将 IEnumerable 转换为 IQueryable。

方法语法

// AsQueryable

int[] numbers = { 1, 2, 3, 4, 5 };

var nums = numbers.AsQueryable();

// nums: static type is IQueryable<int>

查询语法

// Not applicable.

将集合的元素转换为指定的类型。

方法语法

// Cast

var numbers = new object[] { 1, 2, 3, 4, 5 };

var nums = numbers.Cast<int>();

// nums: static type is IEnumerable<int>

查询语法

// Use an explicitly typed range variable.

var numbers = new object[] { 1, 2, 3, 4, 5 };

var nums = from int n in numbers select n;

// nums: static type is IEnumerable<int>

OfType

过滤值,具体取决于它们转换为指定类型的能力。

方法语法

// OfType

var objects = new object[] { 1, "one", 2, "two", 3, "three" };

var numbers = objects.OfType<int>();

// nums = { 1, 2, 3 }

查询语法

// Not applicable.

ToArray

将集合转换为数组。

方法语法

// ToArray

var numbers = Enumerable.Range(1, 5);

int[] array = numbers.ToArray();

// array = { 1, 2, 3, 4, 5 }

查询语法

// Not applicable.

ToList

将集合转换为列表。

方法语法

// ToList

var numbers = Enumerable.Range(1, 5);

List<int> list = numbers.ToList();

// list = { 1, 2, 3, 4, 5 }

查询语法

// Not applicable.

ToDictionary

基于键选择器功能将元素放入字典中。

方法语法

// ToDictionary

var numbers = new int[] { 1, 2, 3 };

var dict = numbers.ToDictionary(n => n.ToString());

// dict = { "1" => 1, "2" => 2, "3" => 3 }

查询语法

// Not applicable.