I was browsing a coworkers c# code today and found the following:
using (MemoryStream data1 = new MemoryStream())
using (MemoryStream data2 = new MemoryS
Exactly what he said. The code above is exactly the same as writing:
using (MemoryStream data1 = new MemoryStream())
{
using (MemoryStream data2 = new MemoryStream())
{
// Lots of code
}
}
You can omit the curly braces after an if/else/for/while/using/etc statement as long as there is only one command within the statement. Examples:
// Equivalent!
if (x==6)
str = "x is 6";
if(x == 6) {
str = "x is 6";
}
// Equivalent!
for (int x = 0; x < 10; ++x) z.doStuff();
for (int x = 0; x < 10; ++x) {
z.doStuff();
}
// NOT Equivalent! (The first one ONLY wraps the p = "bob";!)
if (x == 5)
p = "bob";
z.doStuff();
if (x == 5) {
p = "bob";
z.doStuff();
}