首页 新闻 搜索 专区 学院

怎么理解Dictionary<TKey, TValue>.KeyCollection.CopyTo()

0
[已解决问题] 解决于 2018-10-05 12:42
        bool longLenth = fileList.Count > 500 ? true : false;
        int count = longLenth  ? fileList.Count - 500 : fileList.Count;
        string[] keys = longLenth ? new string[600] : new string[count + 100];
        if (longLenth) { fileList.Keys.CopyTo(keys, count); }
        else { fileList.Keys.CopyTo(keys, 0); }

当fileList.Keys.Count=793时,会报错“目标数组的长度不足,无法复制集合中的所有项。请检查数组索引和长度。”

想问一下 fileList.Keys.CopyTo(keys, count)中count是指从 fileList.Keys的这个位置开始还是keys的这个位置?

浩洁的主页 浩洁 | 初学一级 | 园豆:155
提问于:2017-12-28 10:35
< >
分享
最佳答案
0

应该是指目标数组开始放置的数组index,不是count的意思

奖励园豆:5
Daniel Cai | 专家六级 |园豆:10374 | 2017-12-28 10:59

有什么办法能从源数组的指定开始位置开始复制吗?有这个方法吗?

浩洁 | 园豆:155 (初学一级) | 2017-12-28 11:41

@浩洁: 直接xxx.Keys.Skip(#count).ToArray()就完了

Daniel Cai | 园豆:10374 (专家六级) | 2017-12-28 13:59
其他回答(1)
0

CopyTo(目标数组,从集合的第几项开始复制)

西漠以西 | 园豆:1670 (小虾三级) | 2017-12-28 15:06
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册