"In Parameter Specification at Call Site for Method Overload"

// First case: Explicitly invoking an overloaded method that takes an [c]in[/c] parameter:

static void PrintFirstElement(Matrix4x4 m) => Console.WriteLine(m.M11);
static void PrintFirstElement(in Matrix4x4 m) => Console.WriteLine(m.M11);

static void Test() {
	var m = GetMatrix();

	PrintFirstElement(m); // Invokes first method, passes 'm' by value (i.e. copied)
    PrintFirstElement(in m); // Invokes second method, passes 'm' by readonly reference 
}


Code snippet taken from "Two Decades of C#: A Reference - C# 7".