0
我有以下兩段代碼第一個沒有明確配置Image對象而第二個配置正確。請建議在生產代碼中使用哪一個。在c#中處理圖像對象的最佳做法是什麼?
private bool SavePatientChartImage(byte[] ImageBytes, string ImageFilePath, string IMAGE_NAME, int rotationAngle)
{
bool success = false;
System.Drawing.Image newImage;
try
{
using (MemoryStream stream = new MemoryStream(ImageBytes))
{
newImage = System.Drawing.Image.FromStream(stream);
switch (rotationAngle)
{
case 90:
newImage.RotateFlip(RotateFlipType.Rotate90FlipNone);
break;
case 180:
newImage.RotateFlip(RotateFlipType.Rotate180FlipNone);
break;
case 270:
newImage.RotateFlip(RotateFlipType.Rotate270FlipNone);
break;
default:
newImage = newImage;
break;
}
newImage.Save(Path.Combine(ImageFilePath, IMAGE_NAME));
success = true;
}
}
catch (Exception ex)
{
success = false;
}
return success;
}
和
private bool SavePatientChartImage(byte[] ImageBytes, string ImageFilePath, string IMAGE_NAME, int rotationAngle)
{
bool success = false;
System.Drawing.Image newImage;
try
{
using (MemoryStream stream = new MemoryStream(ImageBytes))
{
using(newImage = System.Drawing.Image.FromStream(stream))
{
switch (rotationAngle)
{
case 90:
newImage.RotateFlip(RotateFlipType.Rotate90FlipNone);
break;
case 180:
newImage.RotateFlip(RotateFlipType.Rotate180FlipNone);
break;
case 270:
newImage.RotateFlip(RotateFlipType.Rotate270FlipNone);
break;
default:
newImage = newImage;
break;
}
newImage.Save(Path.Combine(ImageFilePath, IMAGE_NAME));
success = true;
}
}
}
catch (Exception ex)
{
success = false;
}
return success;
}
哪一個宗教跟隨。請建議
很少有人在編程時虔誠地遵循任何建議。編程語言中的每個功能都是針對某種用例添加的,因此,無論何時您遇到該用例(可能很少見 - 例如C goto),都應該使用該功能。 – 2012-02-24 05:37:09
http://stackoverflow.com/a/2809026/555547可能會有所幫助。就個人而言,我只是使用第二個,因爲它不那麼難,它應該在完成時妥善處理資源,但我不是專家。 – Jason 2012-02-24 05:38:53