Question: I'm struggling to understand what this code does

```
ldi r20, 80
loop: asr r20
     brsh loop
      nop

```

What is this code doing and how many clock cycles does this code take to execute?

Answer: 
I routinely have

```
static Action<object> o = s => Console.WriteLine(s);

```

in my code which makes debug output so much less noisy. That way I can call Console's static Writeline() much easier. Would that help?
In C#? Not possible. Because it's a full OOP programming language and it was designed to work with objects you can't use functions outside the scope of an object. When calling static methods you have to specify the class where that static method lives...

```
Class.StaticMethod();

```

you can only use the short-hand notation if this method is call from within the same class...

```
StaticMethod();

```

But remember that you will not get access to instance members because static methods donot belong to instance of an object

Update based on comment
-----------------------

Looks like it will be possible to call static members without having to specify the class that declares it in C# 6, and you will be able to reference classes directly in `using` statements...in similar fashion to Java...[more info here](http://roslyn.codeplex.com/wikipage?title=Language%20Feature%20Status&referringTitle=Home)