我在更新字典方面遇到了问题
我也读过很多关于这个说法的话题(例如链接)
ExampleDict[key] = value;
Run Code Online (Sandbox Code Playgroud)
我试着用自己的代码:
模型:
public Dictionary<int, string> Info { get; set; }
public Dictionary<int, string> GetInfo(int id)
{
Info = new Dictionary<int, string>();
var game = db.Games.Find(id);
var playerOne = db.Players.Find(game.PlayerOneId);
var playerTwo = db.Players.Find(game.PlayerTwoId);
var PlayerOneName = playerOne.Nickname;
var PlayerTwoName = playerTwo.Nickname;
int scoreOne = CountScorePlayerOne();
int scoreTwo = CountScorePlayerTwo();
// old aproach:
Info.Add(scoreOne, PlayerOneName);
Info.Add(scoreTwo, PlayerTwoName);
//new approach
Info[key] = scoreOne;
return Info;
}
Run Code Online (Sandbox Code Playgroud)
错误
当前上下文中不存在名称"key"
注意:我是学生,这是一个学校项目.
关于我做错了什么的任何想法?
通过Jon Senchyna的代码示例解决,谢谢!
看来你永远不会声明变量key.您可能并不想在"新方法"行中使用"密钥".
此外,我相信你的Dictionary是倒退,因为看起来球员名称应该是关键,而不是他们的得分.你当前声明它的方式(Dictionary<int, string>),你正在创建一个字典,其键是int(得分?),其值是string(名称?).
以下是我建议的修改:
// Corrected dictionary definitions
public Dictionary<string, int> Info { get; set; }
public Dictionary<string, int> GetInfo(int id)
{
// You may want to use a local variable here instead
Info = new Dictionary<string, int>();
...
Info[PlayerOneName] = scoreOne;
Info[PlayerTwoName] = scoreTwo;
return Info;
}
Run Code Online (Sandbox Code Playgroud)
以下是一些有用的链接,用于了解有关使用Dictionary类的更多信息(如果您稍微浏览一下,则通常使用C#):
| 归档时间: |
|
| 查看次数: |
622 次 |
| 最近记录: |