我希望能够在不直接引用列表对象的情况下为它们分配值:
伪代码示例:
伪代码示例:
List<int> intList = new List<int> { 0 };
???? intPointer = ref intlist[0];
*intPointer = 1; // I know * isn't possible here, but it is what I'd like to do
Console.WriteLine(intList[0]);
如果它输出1
,我认为这是不可能的,但我只是想确认一下是否有遗漏。
另外,我不想使用unsafe
的示例,我只是好奇在托管代码中是否可能实现。
list[0]
中的内容。 - afuzzyllamaclass
的实例)总是通过引用传递(类似于在C中传递指针)。另一方面,当传递值类型时(如int
、float
、struct
等),它们总是被复制。但如果将它们作为引用类型的属性,则可以获取引用。 - vgru