var content = new StreamContent(new MemoryStream(Encoding.UTF8.GetBytes("Hello, World")));
var length = content.Headers.ContentLength;
foreach (var header in content.Headers)
if (header.Key == "ContentLength")
Console.WriteLine("Content Length was set");
The above code prints "Content Length was set" in .NET but does not do the same in Mono. The reason being - the ContentLength property in HttpContentHeaders sets the header in .NET but it just returns the value in mono: https://github.com/mono/mono/blob/master/mcs/class/System.Net.Http/System.Net.Http.Headers/HttpContentHeaders.cs#L70
This appears to be a Mono Class Library bug.
@sornakumar MonoMac is for the open source bindings to OS X. I'll move it to the correct product, but if your example doesn't contain "using MonoMac;" please consider filing it against another product.
Fixed in master