相关疑难解决方法(0)

在C#中,为什么String是一个行为类似值的引用类型?

String是一种引用类型,即使它具有值类型的大多数特性,例如是不可变的并且具有==重载以比较文本而不是确保它们引用相同的对象.

为什么字符串不是一个值类型呢?

c# string clr value-type reference-type

348
推荐指数
8
解决办法
16万
查看次数

打破C#引用

我想知道何时以及为什么引用在C#中被破坏了?

以下代码示例突出显示了此:

StringBuilder a = null, b = null;
a = new StringBuilder("a");
b = a;
b.Append("b");
b = null;
Console.WriteLine(a != null? a.ToString() : "null");
Console.WriteLine(b != null ? b.ToString() : "null");

//Output: 
    ab
    null
Run Code Online (Sandbox Code Playgroud)

为什么,在这个例子中,是b的参考a不会导致anull呢?

c# reference

4
推荐指数
4
解决办法
2201
查看次数

如何创建和访问数组

我理解(不完全是为什么)原始类型的实例(如int,float)存储在堆栈中而不是堆分配的.但我对如何存储和访问基元类型的数组感到困惑.我有这个问题,因为System.Array是一个引用类型.引用类型是堆分配的.

int[] integers = {1,2,3,4,5};
Run Code Online (Sandbox Code Playgroud)

如何在内存中存储和访问这些单个整数?

c# clr

1
推荐指数
2
解决办法
432
查看次数

标签 统计

c# ×3

clr ×2

reference ×1

reference-type ×1

string ×1

value-type ×1