Microsoft "Roslyn" September 2012 CTP now available

Following last Wednesday’s official launch of Visual Studio 2012, we’re excited to announce that the Roslyn September 2012 CTP is now available for download and provides support for VS 2012 RTM. Please note that Visual Studio 2010 is no longer supported by this CTP. We’ve been hard at work since the first public release of… Read more

Announcing Microsoft “Roslyn” June 2012 CTP

Today, we’re excited to announce that the Roslyn June 2012 CTP is now available for download! Since the first public release of Roslyn, we’ve been hard at work implementing new language features, addressing top customer feedback from the Oct CTP, iterating on our API design and improving performance across our IDE and compiler scenarios.  With… Read more

Roslyn Syntax Visualizers

Hi All! A few weeks ago, we announced the Microsoft “Roslyn” CTP. I hope many of you have had a chance to download the CTP and take it for a spin 🙂 If you haven’t, do give it a try. To recap – in the Roslyn CTP, we are previewing a powerful set of language… Read more

Introducing the Microsoft “Roslyn” CTP

By Kevin Pilch-Bisson As Soma mentioned earlier, today we’ve made a Community Technology Preview (CTP) available for download! The Roslyn project is a forward looking effort to make the wealth of language understanding that the compiler generates available to developers in other scenarios. A number of us have been working hard on getting enough of… Read more

Does the “LINQ to Objects” provider have built-in performance optimization?

Let’s start with the basics and maybe repeat some information that many of you already know. One of the most important concepts in LINQ performance and optimization is, of course, deferred execution. It simply means that when you declare a variable and assign it a query expression, that expression is not executed immediately.   //… Read more

What does the /target: command line option do in the C# compiler?

All the /target: options except module create .NET assemblies. Depending on the option, the compiler adds metadata for the operating system to use when loading the portable executable (PE) file and for the runtime to use in executing the contained assembly or module. module creates a module. The metadata in the PE does not include… Read more

Why does C#’s iterators feature spit out a class definition instead of a struct definition?

Q: Why does C#’s iterators feature spit out a class definition instead of a struct definition?   The iterators feature in C# generates classes that implement the enumerators required. This is detailed in the C# Specification. Why doesn’t it use structs, which would be more efficient.   A:   There are two reasons.   (1)… Read more

How are return values from a delegate handled?

Q: How are multiple return values from a delegate handled? In C#, it’s possible to write a delegate such as: delegate double GetResult(params double p); If there is more than one method on this delegate, there are multiple return values. A: In this situation, the return value is the value that is returned from the… Read more

Why can’t I use the same variable as an inner loop does?

Q: Why can’t I do the following: namespace Bug {             class Class1             {                         [STAThread]                         static void Main(string[] args)                         {                                     for(int i=0; i<100; i++)                                     {                                       }                                       int i = 0;                         }             } } the compiler gives me an error on the “int i… Read more

Why aren’t reference types polymorphic?

Q: Why aren’t reference types polymorphic? A: Consider the following code: using System;class Dog {   public string Name;}class Test{   public static void Swap(ref object a, ref object b) {      object temp;      temp = a;      a = b;      b = temp;   } public static void Main() { Dog d1 = new Dog(); d1.Name = “fido”; Dog… Read more