FSharpList<FSharpList<int>> newImageList;
FSharpList<int> row;
for(int i = 0; i < CurrentImage.Header.Height)
{
row = PPMImageLibrary.GrayscaleImage(CurrentImage.ImageListData);
newImageList.Head = row;
}
上面我正在尝试获取一个int列表并将每个索引设置为一个int列表。显然我不能用.Head
来做,如果可以,它只会改变第一个索引。我想知道我怎么可能做这个工作,我很难获得newImageList的任何索引。
答案 0 :(得分:4)
FSharpList是一个不可变列表。因此,您无法分配其头部和尾部属性。但是,您可以尝试将FSharp列表添加到通用C#列表或任何继承IEnumerable的集合中。例如,从您的代码:
List<int> newImageList = new List<int>();
for(int i = 0; i < CurrentImage.Header.Height)
{
newImageList.AddRange(PPMImageLibrary.GrayscaleImage(CurrentImage.ImageListData)); // I am assuming your GrayscaleImage method might return multiple records.
}
我希望这会有所帮助。