我正在尝试将用户的电影评分存储在字典中。从中获取数据的文件的格式为
用户名 | 电影ID | 评级 | 时间戳
它们是制表符分隔值
//Take the first 100 lines from the file and store each line as a array element of text
string[] text = System.IO.File.ReadLines(@File path).Take(100).ToArray();
//extDic[username] - [moviename][rating] is the structure
Dictionary<string,Dictionary<string,double>> extDic=new Dictionary<string,Dictionary<string,double>>();
Dictionary<string, double> movie=new Dictionary<string,double>();
foreach(string s in text)
{
int rating;
string username=s.Split('\t')[0];
string moviename=s.Split('\t')[1];
Int32.TryParse(s.Split('\t')[2], out rating);
movie.Add(moviename,rating);
if (extDic.ContainsKey(username))
{
//Error line
extDic[username].Add(moviename, rating);
}
else
{
extDic.Add(username, movie);
}
movie.Clear();
}
我在错误行上收到以下错误“已添加具有相同密钥的项目”。我了解错误是什么,并尝试通过检查 if 语句来解决它。然而,这并不能解决它。
另外,我想知道是否有重要的movie.clear()?