SpriteBatch.Draw obsolete

Additional to what @reiti.net says:

Use float numbers to define layer depths. Here are some examples:

// 1.
spriteBatch.Begin(SpriteSortMode.BackToFront);
// ↓
spriteBatch.Draw(texture: Pixel, destinationRectangle: new Rectangle(0, 0, 100, 100), color: Color.White, layerDepth: 0.2f);
// ↓
spriteBatch.Draw(texture: Pixel, destinationRectangle: new Rectangle(0, 0, 50, 50), color: Color.Red, layerDepth: 0.1f);
// ↓
spriteBatch.End(); // Red Pixel ontop of White Pixel

// 2.
spriteBatch.Begin(SpriteSortMode.FrontToBack);
// ↑
spriteBatch.Draw(texture: Pixel, destinationRectangle: new Rectangle(0, 0, 100, 100), color: Color.White, layerDepth: 0.2f);
// ↑
spriteBatch.Draw(texture: Pixel, destinationRectangle: new Rectangle(0, 0, 50, 50), color: Color.Red, layerDepth: 0.1f);
// ↑
spriteBatch.End();// White Pixel ontop of Red Pixel

// 3.
spriteBatch.Begin(SpriteSortMode.BackToFront);
// ↓
spriteBatch.Draw(texture: Pixel, destinationRectangle: new Rectangle(0, 0, 100, 100), color: Color.White, layerDepth: 0.1f);
// ↓
spriteBatch.Draw(texture: Pixel, destinationRectangle: new Rectangle(0, 0, 50, 50), color: Color.Red, layerDepth: 0.2f);
// ↓
spriteBatch.End(); // White Pixel ontop of Red Pixel

// 4.
spriteBatch.Begin(SpriteSortMode.FrontToBack);
// ↑
spriteBatch.Draw(texture: Pixel, destinationRectangle: new Rectangle(0, 0, 100, 100), color: Color.White, layerDepth: 0.1f);
// ↑
spriteBatch.Draw(texture: Pixel, destinationRectangle: new Rectangle(0, 0, 50, 50), color: Color.Red, layerDepth: 0.2f);
// ↑
spriteBatch.End();// Red Pixel ontop of White Pixel