Теперь я хочу передать ссылку на структуру для дальнейшей обработки.
- Я не могу использовать class, потому что он, вероятно, не будет идеально «сопоставляться» с C++ struct.
- Я не хочу копировать структуру для уменьшения задержки.
Этот пример демонстрирует, что структура передается по значению, а не по ссылке:
using System;
namespace TestStruct
{
struct s
{
public int a;
}
class Program
{
static void Main(string[] args)
{
s s1 = new s
{
a = 1
};
Foo(s1);
Console.WriteLine("outer a = " + s1.a);
}
private static void Foo(s s1)
{
s1.a++;
Console.WriteLine("inner a = " + s1.a);
}
}
}
Вывод:
inner a = 2
outer a = 1
Подробнее здесь: https://stackoverflow.com/questions/166 ... -reference
Мобильная версия