Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将一个实例插入另一个实例_C# - Fatal编程技术网

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;