您的位置:首页 > 编程语言 > C语言/C++

从C++到C#,我遇到的几个问题

2008-04-01 17:01 330 查看
1)StreamReader无法取得正确取得当前位置的问题。
这个问题网上看到有人提了,参见:StreamReader缓冲引起BaseStream.Position不能反映当前Read位置的问题。不过它给出的解决方案不太认同。我的文件有几十兆,不想全部读入内存。如果考虑用Stream/BufferedStream,这样就得自己写ReadLine等函数,也不是好招。
2)C#中似乎只有map(即Dictionary),貌似没multi_map?可怜我偏偏要用到这个数据结构。
目前我老老实实用Dictionary模拟了一个MultiDictionary。大体如下:
    class MultiDictionary : Dictionary>
    {
        public void Add(TKey key, TValue value)
        {
            List list;
            if (base.TryGetValue(key, out list))
            {
                list.Add(value);
            }
            else
            {
                list = new List();
                list.Add(value);
                base.Add(key, list);
            }
        }
        ...
    }
以上两个问题很希望是我孤陋寡闻,欢迎高手支个招。
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: