将list <byte [],int =“”>转换为list <byte []>

时间:2018-02-16 20:15:04

标签: f#

我有list<tuple<byte[], int>>。如何弃置int并以list byte[]结束?

intellisense信息看起来像这样。

 Task.Result : (byte[] * int) list

2 个答案:

答案 0 :(得分:5)

input |> List.map fst可以解决问题:

> let input = [ ([| 1uy |], 1); ([| 20uy |], 20) ];;
val input : (byte [] * int) list = [([|1uy|], 1); ([|20uy|], 20)]

> input |> List.map fst;;
val it : byte [] list = [[|1uy|]; [|20uy|]]

它将使用fst函数映射输入集合中的每个元素,该函数接受元组的第一个元素并丢弃所有其他元素。

答案 1 :(得分:-3)

使用可枚举&#34;选择&#34;扩展方法(https://msdn.microsoft.com/en-us/library/bb548891(v=vs.110).aspx?cs-save-lang=1&cs-lang=fsharp

示例:

var bytelist = tuplelist.Select(t => t.Item1)

这将返回一个可枚举的byte []&#39; s。如果你真的需要它作为一个列表,请在该语句的末尾添加一个toList()。