C# 将一个实例插入另一个实例
有点愚蠢的问题,但它让我困惑 以下两者之间是否有区别:C# 将一个实例插入另一个实例,c#,C#,有点愚蠢的问题,但它让我困惑 以下两者之间是否有区别: Dictionary<short, String> details= new <short, String>() Dictionary<short, String> tmpDetails = db.getDetails(); foreach (var tmpDetails in tmpDetails ) { details.Add(tmpDetails.Key, tmpDetails.Valu
Dictionary<short, String> details= new <short, String>()
Dictionary<short, String> tmpDetails = db.getDetails();
foreach (var tmpDetails in tmpDetails )
{
details.Add(tmpDetails.Key, tmpDetails.Value);
}
Dictionary details=new()
Dictionary tmpDetails=db.getDetails();
foreach(tmpDetails中的var tmpDetails)
{
添加(tmpDetails.Key,tmpDetails.Value);
}
以及:
Dictionary details=new()
Dictionary tmpDetails=db.getDetails();
详细信息=TMP详细信息;
如果我将一个实例插入另一个实例?在您的第一个示例中,您正在将项目从一个
字典复制到另一个;它们是不同的例子。如果向一个实例添加值,则另一个实例不受影响
在第二个示例中,使用两个变量引用同一个实例。如果通过一个引用添加值,则另一个引用将看到附加值
把它们想象成盒子——在第一种情况下,您有两个盒子,并且正在将项目从一个盒子复制到另一个盒子
在第二个示例中,它们是相同的框-两个引用在其中看到相同的项,并且如果添加/删除/修改任何内容,它们都会受到影响。在第一个示例中,您正在将项从一个字典复制到另一个;它们是不同的例子。如果向一个实例添加值,则另一个实例不受影响
在第二个示例中,使用两个变量引用同一个实例。如果通过一个引用添加值,则另一个引用将看到附加值
把它们想象成盒子——在第一种情况下,您有两个盒子,并且正在将项目从一个盒子复制到另一个盒子
在第二个示例中,它们是同一个框-两个引用在其中看到相同的项,如果添加/删除/修改任何内容,它们都会受到影响。我认为代码不会编译。新关键字后的字典声明是错误的。我认为代码无法编译。新关键字后的字典声明错误。
Dictionary<short, String> details= new <short, String>()
Dictionary<short, String> tmpDetails = db.getDetails();
details = tmpDetails;