So I have figured this out on my own, the way I was able to do this is:
DataStream mappedResource;
deviceContext.MapSubresource(texure2d, 0, MapMode.WriteDiscard, MapFlags.None, out mappedResource);
foreach (var thisColor4 in color)
{
mappedResource.Write((byte)(thisColor4.Red * 255));
mappedResource.Write((byte)(thisColor4.Green * 255));
mappedResource.Write((byte)(thisColor4.Blue * 255));
mappedResource.Write((byte)(0));
}
deviceContext.UnmapSubresource(texure2d, 0);
var heightMapTexure = new Texture2D(device, textureDesc,
new DataRectangle(
DataStream.Create(hmap.ToArray(), false, false).DataPointer,
HeightMapWidth * Marshal.SizeOf(typeof(Half))
)
);
Hope this helps other that may have a similar question.