一部のデータをファイルに保存するために 100 ミリ秒ごとに呼び出されるメソッドがあります。このメソッドへの入力はバイト配列で、メッセージであり、メッセージには型があります。
private FileStream _fStream;
public void SaveData(byte[] data)
{
try
{
int type = GetTypeOfData(data);
switch (type)
{
case 0:
// do something
break;
case 2:
SaveDataToFile(data);
break;
case 1:
_fStream = File.Create(fileName);
break;
}
}
catch (Exception ex)
{
// log error
}
}
private void SaveDataToFile(byte[] data)
{
if (_fStream != null && _fStream.CanWrite)
{
_fStream.Write(data, 0, data.Length);
}
}
問題は、ファイル ストリームが null かどうか、または毎回書き込み可能かどうかを確認する必要があるかどうif (_fStream != null && _fStream.CanWrite)
かtry/catch
ですSaveData
。そのチェックのパフォーマンスの問題は何ですか?