using, Vor-/Nachteile?

12/05/2009 - 13:21 von Martin Greul | Report spam
Hallo,

wann macht es Sinn using zu verwenden?

Was sind es für Kriterien?

Vor-/Nachteile?



Grüße Martin

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

private void SendTelegram(Socket socket, string telegramm)

{

using (NetworkStream stream = new NetworkStream(socket))

{

BinaryWriter writer = new BinaryWriter(stream);

byte[] data = System.Text.Encoding.UTF8.GetBytes(telegramm);

int lengthInNetworkOrder = IPAddress.HostToNetworkOrder(data.Length);

writer.Write(lengthInNetworkOrder);

writer.Write(data);

}

}



ALTERNATIV



using System;
using System.IO;

class BinaryRW
{
static void Main()
{
const int arrayLength = 1000;

// Create random data to write to the stream.
byte[] dataArray = new byte[arrayLength];
new Random().NextBytes(dataArray);

BinaryWriter binWriter = new BinaryWriter(new MemoryStream());

// Write the data to the stream.
Console.WriteLine("Writing the data.");
binWriter.Write(dataArray);

// Create the reader using the stream from the writer.
BinaryReader binReader new BinaryReader(binWriter.BaseStream);

// Set Position to the beginning of the stream.
binReader.BaseStream.Position = 0;

// Read and verify the data.
byte[] verifyArray = binReader.ReadBytes(arrayLength);
if(verifyArray.Length != arrayLength)
{
Console.WriteLine("Error writing the data.");
return;
}
for(int i = 0; i < arrayLength; i++)
{
if(verifyArray[i] != dataArray[i])
{
Console.WriteLine("Error writing the data.");
return;
}
}
Console.WriteLine("The data was written and verified.");
}
}
 

Lesen sie die antworten

#1 Herfried K. Wagner [MVP]
12/05/2009 - 14:40 | Warnen spam
"Martin Greul" schrieb:
wann macht es Sinn using zu verwenden?



Stark vereinfacht: Wann immer möglich ('IDisposable' wird implementiert) und
sinnvoll (das Objekt wird danach nicht mehr benötigt).

Beispiele und eine genauere Beschreibung der Funktion findest Du in der
Dokumentation:

using Statement (C# Reference)
<URL:http://msdn.microsoft.com/en-us/lib...2.aspx>

M S Herfried K. Wagner
M V P <URL:http://dotnet.mvps.org/>
V B <URL:http://dotnet.mvps.org/dotnet/faqs/>

Ähnliche fragen